Files
vuln-cve/data/2024/46xxx/CVE-2024-46844.json
T

314 lines
16 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2024-46844",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-09-11T15:12:18.289Z",
"datePublished": "2024-09-27T12:39:37.685Z",
"dateUpdated": "2026-08-05T11:38:56.747Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T11:38:56.747Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\num: line: always fill *error_out in setup_one_line()\n\nThe pointer isn't initialized by callers, but I have\nencountered cases where it's still printed; initialize\nit in all possible cases in setup_one_line()."
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"baseScore": 7.1,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The only ways to reach `setup_one_line()` are the UML kernel command line at boot (`con0=none`/`ssl0=none` via `console_chan_setup`/`ssl_chan_setup`) and the `config`/`remove` commands on the mconsole AF_UNIX datagram socket in `~/.uml/<umid>/mconsole`; no path is driven by received network packets or by an adjacent link peer.\nAC:L - The failure is fully deterministic — two consecutive `remove con0` mconsole commands drive `line->valid` to 0 and then hit the `\"none\"` + `!valid` branch that leaves `*error_out` untouched, with no race, timing window, or memory-layout precondition.\nPR:L - There is no `capable()`, credential, or authentication check anywhere on the `mconsole_remove → con_remove/ssl_remove → line_remove → setup_one_line` path, and the mconsole protocol authenticates nothing; any ordinary local account able to write to the socket (created under a `mkdir(uml_dir, 0777)` tree) can issue the command, and it is not real root or an init-namespace capability.\nUI:N - The fault fires synchronously as a direct consequence of the attacker's own `remove`/`config` command or boot-line setting; no victim has to open a device, mount anything, or take any other action.\nS:U - The oops and the leaked data are confined to the UML kernel instance that owns the vulnerable code; no VM-to-host, IOMMU, or sandbox authority boundary is crossed by the dereference itself.\nC:H - The `stdio_init()`/`ssl_init()` callers pass a genuinely uninitialized stack `char *error` that `setup_one_line()` leaves untouched, and `printk(\"%s\", error)` then dereferences that wild pointer, copying an unbounded NUL-terminated run of UML kernel memory into the kernel log where any unprivileged user can harvest it with `dmesg` — an uncontrolled read of arbitrary kernel memory rather than a small bounded leak.\nI:N - Both the `strlen(NULL)` in `mconsole_reply()` and the `%s` formatting are pure reads; no kernel object is written, freed, or corrupted, and the line state left behind by the failed `remove` is not a security-relevant modification.\nA:H - `mconsole_remove()` passes the still-NULL `err_msg` straight into `mconsole_reply() → strlen(NULL)`, and the boot-time callers dereference a wild stack pointer inside `printk`, either of which produces a kernel oops/SIGSEGV that panics the UML instance."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/um/drivers/line.c"
],
"versions": [
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "3bedb7ce080690d0d6172db790790c1219bcbdd5",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "96301fdc2d533a196197c055af875fe33d47ef84",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "c8944d449fda9f58c03bd99649b2df09948fc874",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "43f782c27907f306c664b6614fd6f264ac32cce6",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "289979d64573f43df1d0e6bc6435de63a0d69cdf",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "ec5b47a370177d79ae7773858042c107e21f8ecc",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "fc843d3837ebcb1c16d3768ef3eb55e25d5331f2",
"status": "affected",
"versionType": "git"
},
{
"version": "31efcebb7d7196adcee73027f513d7c0bf572b47",
"lessThan": "824ac4a5edd3f7494ab1996826c4f47f8ef0f63d",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/um/drivers/line.c"
],
"versions": [
{
"version": "3.4",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.4",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.322",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.284",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.226",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.167",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1.110",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.6.51",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.10.10",
"lessThanOrEqual": "6.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.11",
"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.4",
"versionEndExcluding": "4.19.322"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "5.4.284"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "5.10.226"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "5.15.167"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "6.1.110"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "6.6.51"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "6.10.10"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.4",
"versionEndExcluding": "6.11"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/3bedb7ce080690d0d6172db790790c1219bcbdd5"
},
{
"url": "https://git.kernel.org/stable/c/96301fdc2d533a196197c055af875fe33d47ef84"
},
{
"url": "https://git.kernel.org/stable/c/c8944d449fda9f58c03bd99649b2df09948fc874"
},
{
"url": "https://git.kernel.org/stable/c/43f782c27907f306c664b6614fd6f264ac32cce6"
},
{
"url": "https://git.kernel.org/stable/c/289979d64573f43df1d0e6bc6435de63a0d69cdf"
},
{
"url": "https://git.kernel.org/stable/c/ec5b47a370177d79ae7773858042c107e21f8ecc"
},
{
"url": "https://git.kernel.org/stable/c/fc843d3837ebcb1c16d3768ef3eb55e25d5331f2"
},
{
"url": "https://git.kernel.org/stable/c/824ac4a5edd3f7494ab1996826c4f47f8ef0f63d"
}
],
"title": "um: line: always fill *error_out in setup_one_line()",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2024-09-29T13:59:13.479006Z",
"id": "CVE-2024-46844",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-09-29T13:59:18.254Z"
}
},
{
"title": "CVE Program Container",
"references": [
{
"url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html"
}
],
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2025-11-03T22:19:31.529Z"
}
}
]
}
}