{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2022-49914", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-05-01T14:05:17.250Z", "datePublished": "2025-05-01T14:10:55.581Z", "dateUpdated": "2026-05-11T19:09:09.294Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-11T19:09:09.294Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: fix inode list leak during backref walking at resolve_indirect_refs()\n\nDuring backref walking, at resolve_indirect_refs(), if we get an error\nwe jump to the 'out' label and call ulist_free() on the 'parents' ulist,\nwhich frees all the elements in the ulist - however that does not free\nany inode lists that may be attached to elements, through the 'aux' field\nof a ulist node, so we end up leaking lists if we have any attached to\nthe unodes.\n\nFix this by calling free_leaf_list() instead of ulist_free() when we exit\nfrom resolve_indirect_refs(). The static function free_leaf_list() is\nmoved up for this to be possible and it's slightly simplified by removing\nunnecessary code." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "fs/btrfs/backref.c" ], "versions": [ { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "b1dc9019bb5f89abae85645de1a2dd4830c1f8e9", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "cded2c89774b99b67c98147ae103ea878c92a206", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "2c0329406bb28109c07c6e23e5e3e0fa618a95d7", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "a52e24c7fcc3c5ce3588a14e3663c00868d36623", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "6ba3479f9e96b9ad460c7e77abc26dd16e5dec4f", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "396515db923ad5cbeb179d6b88927870b4cbebb7", "status": "affected", "versionType": "git" }, { "version": "3301958b7c1dae8f0f5ded63aa881e0b71e78464", "lessThan": "5614dc3a47e3310fbc77ea3b67eaadd1c6417bf1", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "fs/btrfs/backref.c" ], "versions": [ { "version": "3.5", "status": "affected" }, { "version": "0", "lessThan": "3.5", "status": "unaffected", "versionType": "semver" }, { "version": "4.14.299", "lessThanOrEqual": "4.14.*", "status": "unaffected", "versionType": "semver" }, { "version": "4.19.265", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.224", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.154", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.78", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.0.8", "lessThanOrEqual": "6.0.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "4.14.299" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "4.19.265" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "5.4.224" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "5.10.154" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "5.15.78" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "6.0.8" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.5", "versionEndExcluding": "6.1" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/b1dc9019bb5f89abae85645de1a2dd4830c1f8e9" }, { "url": "https://git.kernel.org/stable/c/cded2c89774b99b67c98147ae103ea878c92a206" }, { "url": "https://git.kernel.org/stable/c/2c0329406bb28109c07c6e23e5e3e0fa618a95d7" }, { "url": "https://git.kernel.org/stable/c/a52e24c7fcc3c5ce3588a14e3663c00868d36623" }, { "url": "https://git.kernel.org/stable/c/6ba3479f9e96b9ad460c7e77abc26dd16e5dec4f" }, { "url": "https://git.kernel.org/stable/c/396515db923ad5cbeb179d6b88927870b4cbebb7" }, { "url": "https://git.kernel.org/stable/c/5614dc3a47e3310fbc77ea3b67eaadd1c6417bf1" } ], "title": "btrfs: fix inode list leak during backref walking at resolve_indirect_refs()", "x_generator": { "engine": "bippy-1.2.0" } } } }