| { |
| "containers": { |
| "cna": { |
| "providerMetadata": { |
| "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038" |
| }, |
| "descriptions": [ |
| { |
| "lang": "en", |
| "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_tables: don't skip expired elements during walk\n\nThere is an asymmetry between commit/abort and preparation phase if the\nfollowing conditions are met:\n\n1. set is a verdict map (\"1.2.3.4 : jump foo\")\n2. timeouts are enabled\n\nIn this case, following sequence is problematic:\n\n1. element E in set S refers to chain C\n2. userspace requests removal of set S\n3. kernel does a set walk to decrement chain->use count for all elements\n from preparation phase\n4. kernel does another set walk to remove elements from the commit phase\n (or another walk to do a chain->use increment for all elements from\n abort phase)\n\nIf E has already expired in 1), it will be ignored during list walk, so its use count\nwon't have been changed.\n\nThen, when set is culled, ->destroy callback will zap the element via\nnf_tables_set_elem_destroy(), but this function is only safe for\nelements that have been deactivated earlier from the preparation phase:\nlack of earlier deactivate removes the element but leaks the chain use\ncount, which results in a WARN splat when the chain gets removed later,\nplus a leak of the nft_chain structure.\n\nUpdate pipapo_get() not to skip expired elements, otherwise flush\ncommand reports bogus ENOENT errors." |
| } |
| ], |
| "affected": [ |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "unaffected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "net/netfilter/nf_tables_api.c", |
| "net/netfilter/nft_set_hash.c", |
| "net/netfilter/nft_set_pipapo.c", |
| "net/netfilter/nft_set_rbtree.c" |
| ], |
| "versions": [ |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "94313a196b44184b5b52c1876da6a537701b425a", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "1da4874d05da1526b11b82fc7f3c7ac38749ddf8", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "b15ea4017af82011dd55225ce77cce3d4dfc169c", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "7c7e658a36f8b1522bd3586d8137e5f93a25ddc5", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "59dab3bf0b8fc08eb802721c0532f13dd89209b8", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "bd156ce9553dcaf2d6ee2c825d1a5a1718e86524", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "9d0982927e79049675cb6c6c04a0ebb3dad5a434", |
| "lessThan": "24138933b97b055d486e8064b4a1721702442a9b", |
| "status": "affected", |
| "versionType": "git" |
| } |
| ] |
| }, |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "affected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "net/netfilter/nf_tables_api.c", |
| "net/netfilter/nft_set_hash.c", |
| "net/netfilter/nft_set_pipapo.c", |
| "net/netfilter/nft_set_rbtree.c" |
| ], |
| "versions": [ |
| { |
| "version": "4.1", |
| "status": "affected" |
| }, |
| { |
| "version": "0", |
| "lessThan": "4.1", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "4.19.316", |
| "lessThanOrEqual": "4.19.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.4.262", |
| "lessThanOrEqual": "5.4.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.10.198", |
| "lessThanOrEqual": "5.10.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.15.134", |
| "lessThanOrEqual": "5.15.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.1.56", |
| "lessThanOrEqual": "6.1.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.4.11", |
| "lessThanOrEqual": "6.4.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.5", |
| "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": "4.1", |
| "versionEndExcluding": "4.19.316" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "5.4.262" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "5.10.198" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "5.15.134" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "6.1.56" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "6.4.11" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.1", |
| "versionEndExcluding": "6.5" |
| } |
| ] |
| } |
| ] |
| } |
| ], |
| "references": [ |
| { |
| "url": "https://git.kernel.org/stable/c/94313a196b44184b5b52c1876da6a537701b425a" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/1da4874d05da1526b11b82fc7f3c7ac38749ddf8" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/b15ea4017af82011dd55225ce77cce3d4dfc169c" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/7c7e658a36f8b1522bd3586d8137e5f93a25ddc5" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/59dab3bf0b8fc08eb802721c0532f13dd89209b8" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/bd156ce9553dcaf2d6ee2c825d1a5a1718e86524" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/24138933b97b055d486e8064b4a1721702442a9b" |
| } |
| ], |
| "title": "netfilter: nf_tables: don't skip expired elements during walk", |
| "x_generator": { |
| "engine": "bippy-1.2.0" |
| } |
| } |
| }, |
| "cveMetadata": { |
| "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038", |
| "cveID": "CVE-2023-52924", |
| "requesterUserId": "gregkh@kernel.org", |
| "serial": "1", |
| "state": "PUBLISHED" |
| }, |
| "dataType": "CVE_RECORD", |
| "dataVersion": "5.0" |
| } |