| { |
| "containers": { |
| "cna": { |
| "providerMetadata": { |
| "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038" |
| }, |
| "descriptions": [ |
| { |
| "lang": "en", |
| "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrbd: Fix five use after free bugs in get_initial_state\n\nIn get_initial_state, it calls notify_initial_state_done(skb,..) if\ncb->args[5]==1. If genlmsg_put() failed in notify_initial_state_done(),\nthe skb will be freed by nlmsg_free(skb).\nThen get_initial_state will goto out and the freed skb will be used by\nreturn value skb->len, which is a uaf bug.\n\nWhat's worse, the same problem goes even further: skb can also be\nfreed in the notify_*_state_change -> notify_*_state calls below.\nThus 4 additional uaf bugs happened.\n\nMy patch lets the problem callee functions: notify_initial_state_done\nand notify_*_state_change return an error code if errors happen.\nSo that the error codes could be propagated and the uaf bugs can be avoid.\n\nv2 reports a compilation warning. This v3 fixed this warning and built\nsuccessfully in my local environment with no additional warnings.\nv2: https://lore.kernel.org/patchwork/patch/1435218/" |
| } |
| ], |
| "affected": [ |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "unaffected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "drivers/block/drbd/drbd_int.h", |
| "drivers/block/drbd/drbd_nl.c", |
| "drivers/block/drbd/drbd_state.c", |
| "drivers/block/drbd/drbd_state_change.h" |
| ], |
| "versions": [ |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "0489700bfeb1e53eb2039c2291c67e71b0b40103", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "dcf6be17b5c53b741898d2223b23e66d682de300", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "188fe6b26765edbad4055611c0f788b6870f4024", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "b6a4055036eed1f5e239ce3d8b0db1ce38bba447", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "594205b4936771a250f9d141e7e0fff21c3dd2d9", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "a972c768723359ec995579902473028fe3cd64b1", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "de63e74da2333b4068bb79983e632db730fea97e", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "226e993c39405292781bfcf4b039a8db56aab362", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "a29728463b254ce81ecefdf20c1a02e01d9361da", |
| "lessThan": "aadb22ba2f656581b2f733deb3a467c48cc618f6", |
| "status": "affected", |
| "versionType": "git" |
| } |
| ] |
| }, |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "affected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "drivers/block/drbd/drbd_int.h", |
| "drivers/block/drbd/drbd_nl.c", |
| "drivers/block/drbd/drbd_state.c", |
| "drivers/block/drbd/drbd_state_change.h" |
| ], |
| "versions": [ |
| { |
| "version": "4.5", |
| "status": "affected" |
| }, |
| { |
| "version": "0", |
| "lessThan": "4.5", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "4.9.311", |
| "lessThanOrEqual": "4.9.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "4.14.276", |
| "lessThanOrEqual": "4.14.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "4.19.238", |
| "lessThanOrEqual": "4.19.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.4.189", |
| "lessThanOrEqual": "5.4.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.10.111", |
| "lessThanOrEqual": "5.10.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.15.34", |
| "lessThanOrEqual": "5.15.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.16.20", |
| "lessThanOrEqual": "5.16.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.17.3", |
| "lessThanOrEqual": "5.17.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.18", |
| "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.5", |
| "versionEndExcluding": "4.9.311" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "4.14.276" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "4.19.238" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.4.189" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.10.111" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.15.34" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.16.20" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.17.3" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "4.5", |
| "versionEndExcluding": "5.18" |
| } |
| ] |
| } |
| ] |
| } |
| ], |
| "references": [ |
| { |
| "url": "https://git.kernel.org/stable/c/0489700bfeb1e53eb2039c2291c67e71b0b40103" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/dcf6be17b5c53b741898d2223b23e66d682de300" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/188fe6b26765edbad4055611c0f788b6870f4024" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/b6a4055036eed1f5e239ce3d8b0db1ce38bba447" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/594205b4936771a250f9d141e7e0fff21c3dd2d9" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/a972c768723359ec995579902473028fe3cd64b1" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/de63e74da2333b4068bb79983e632db730fea97e" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/226e993c39405292781bfcf4b039a8db56aab362" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/aadb22ba2f656581b2f733deb3a467c48cc618f6" |
| } |
| ], |
| "title": "drbd: Fix five use after free bugs in get_initial_state", |
| "x_generator": { |
| "engine": "bippy-1.2.0" |
| } |
| } |
| }, |
| "cveMetadata": { |
| "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038", |
| "cveID": "CVE-2022-49085", |
| "requesterUserId": "gregkh@kernel.org", |
| "serial": "1", |
| "state": "PUBLISHED" |
| }, |
| "dataType": "CVE_RECORD", |
| "dataVersion": "5.0" |
| } |