353 lines
18 KiB
JSON
353 lines
18 KiB
JSON
{
|
||
"dataType": "CVE_RECORD",
|
||
"dataVersion": "5.2",
|
||
"cveMetadata": {
|
||
"cveId": "CVE-2022-49085",
|
||
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"state": "PUBLISHED",
|
||
"assignerShortName": "Linux",
|
||
"dateReserved": "2025-02-26T01:49:39.248Z",
|
||
"datePublished": "2025-02-26T01:54:43.579Z",
|
||
"dateUpdated": "2026-08-05T08:53:48.711Z"
|
||
},
|
||
"containers": {
|
||
"cna": {
|
||
"providerMetadata": {
|
||
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"shortName": "Linux",
|
||
"dateUpdated": "2026-08-05T08:53:48.711Z"
|
||
},
|
||
"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/"
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"cvssV3_1": {
|
||
"version": "3.1",
|
||
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
||
"baseScore": 7.8,
|
||
"baseSeverity": "HIGH"
|
||
},
|
||
"scenarios": [
|
||
{
|
||
"lang": "en",
|
||
"value": "AV:L - The vulnerable path is reached via the DRBD generic netlink dump command DRBD_ADM_GET_INITIAL_STATE (local netlink syscall), not via DRBD’s replication network protocol or packet processing.\nAC:L - An attacker can invoke the dumpit path at will; the bug is a use-after-free on the dump skb after nlmsg_free(), and UAF exploitation does not depend on a race or other conditions outside attacker influence.\nPR:L - DRBD_ADM_GET_INITIAL_STATE is registered without GENL_ADMIN_PERM and does not go through drbd_adm_prepare’s CAP_NET_ADMIN check, so an unprivileged local user can trigger it.\nUI:N - Exploitation requires only sending a netlink dump request; no victim action such as mounting a device or opening a file is needed.\nS:U - Impact is confined to the local kernel’s security authority (standard local privilege-escalation/DoS via heap UAF), with no VM/IOMMU/sandbox boundary crossing.\nC:H - Freeing the dump skb and then continuing to use it (skb->len read, then netlink_dump send/free paths) is a heap use-after-free that can expose or be leveraged for arbitrary kernel memory disclosure.\nI:H - The same UAF/double-free of the netlink dump skb enables heap corruption and write primitives suitable for control-flow hijacking or arbitrary kernel writes.\nA:H - Use-after-free and double-free of the dump skb can cause kernel oops/panic or otherwise crash the system when the freed object is reused."
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"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"
|
||
}
|
||
},
|
||
"adp": [
|
||
{
|
||
"metrics": [
|
||
{
|
||
"cvssV3_1": {
|
||
"scope": "UNCHANGED",
|
||
"version": "3.1",
|
||
"baseScore": 7.8,
|
||
"attackVector": "LOCAL",
|
||
"baseSeverity": "HIGH",
|
||
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
||
"integrityImpact": "HIGH",
|
||
"userInteraction": "NONE",
|
||
"attackComplexity": "LOW",
|
||
"availabilityImpact": "HIGH",
|
||
"privilegesRequired": "LOW",
|
||
"confidentialityImpact": "HIGH"
|
||
}
|
||
},
|
||
{
|
||
"other": {
|
||
"type": "ssvc",
|
||
"content": {
|
||
"id": "CVE-2022-49085",
|
||
"role": "CISA Coordinator",
|
||
"options": [
|
||
{
|
||
"Exploitation": "none"
|
||
},
|
||
{
|
||
"Automatable": "no"
|
||
},
|
||
{
|
||
"Technical Impact": "total"
|
||
}
|
||
],
|
||
"version": "2.0.3",
|
||
"timestamp": "2025-02-27T17:59:12.644580Z"
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"problemTypes": [
|
||
{
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"type": "CWE",
|
||
"cweId": "CWE-416",
|
||
"description": "CWE-416 Use After Free"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"title": "CISA ADP Vulnrichment",
|
||
"providerMetadata": {
|
||
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
||
"shortName": "CISA-ADP",
|
||
"dateUpdated": "2025-02-27T18:02:29.848Z"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
} |