{"dataType":"CVE_RECORD","cveMetadata":{"cveId":"CVE-2024-36964","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-05-30T15:25:07.081Z","datePublished":"2024-06-03T07:50:01.987Z","dateUpdated":"2026-08-05T11:32:18.997Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:32:18.997Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs/9p: only translate RWX permissions for plain 9P2000\n\nGarbage in plain 9P2000's perm bits is allowed through, which causes it\nto be able to set (among others) the suid bit. This was presumably not\nthe intent since the unix extended bits are handled explicitly and\nconditionally on .u."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The malicious `perm` word is parsed straight out of an Rstat response from the 9P peer, and v9fs supports `trans=tcp` (port 564) as well as rdma/xen, so the attacker is a remote or spoofed file server across a network. No local access to the client is needed to deliver the crafted metadata.\nAC:L - The server simply sets bit 0x800 in the stat `perm` field — fully deterministic, no race or memory-layout dependency. It also controls the only other precondition, since `p9_client_version()` lets the server downgrade the session to plain 9P2000 by answering \"9P2000\" to a \"9P2000.L\" TVERSION.\nPR:N - v9fs calls `p9_client_attach()` with `afid = NULL`, so no 9P authentication is performed, and the transport is plaintext — the attacker holds no credentials or privileges on the client system. The client blindly trusts the mode bits of whatever peer answers.\nUI:R - The forged setuid bit is applied to the inode with no user action, but the privilege gain is realized only when a local process executes the planted binary from the mount. That execution is performed by a party other than the remote attacker.\nS:U - The impact is confined to the client system's own user/privilege model — standard privilege escalation within one security authority, with no VM, IOMMU, or sandbox boundary crossed.\nC:H - Execution of the forged setuid binary yields the mount's `dfltuid`, which is commonly configured as 0 for legacy 9P2000 mounts, giving read access to all files on the system. Forged setgid/sticky bits likewise subvert the client's access-control decisions in `generic_permission()`.\nI:H - Beyond directly corrupting inode permission metadata, the resulting setuid-`dfltuid` (typically root) execution allows arbitrary modification of system files and state. v9fs never sets `SB_NOSUID` and cannot be mounted from a user namespace, so `bprm_fill_uid()` honors the bit.\nA:H - With execution as `dfltuid=0` obtained through the forged setuid bit, the attacker attains full control of the client and can halt or crash the system at will."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/9p/vfs_inode.c"],"versions":[{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"e90bc596a74bb905e0a45bf346038c3f9d1e868d","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"df1962a199783ecd66734d563caf0fedecf08f96","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"5a605930e19f451294bd838754f7d66c976a8a2c","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"ad4f65328661392de74e3608bb736fedf3b67e32","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"ca9b5c81f0c918c63d73d962ed8a8e231f840bc8","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"e55c601af3b1223a84f9f27f9cdbd2af5e203bf3","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"157d468e34fdd3cb1ddc07c2be32fb3b02826b02","status":"affected","versionType":"git"},{"version":"45089142b1497dab2327d60f6c71c40766fc3ea4","lessThan":"cd25e15e57e68a6b18dc9323047fe9c68b99290b","status":"affected","versionType":"git"},{"version":"29a3e8657d2a2640384166e3fe29a086d235fc33","status":"affected","versionType":"git"},{"version":"3.0.5","lessThan":"3.1","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/9p/vfs_inode.c"],"versions":[{"version":"3.1","status":"affected"},{"version":"0","lessThan":"3.1","status":"unaffected","versionType":"semver"},{"version":"4.19.314","lessThanOrEqual":"4.19.*","status":"unaffected","versionType":"semver"},{"version":"5.4.276","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.217","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.159","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.91","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.31","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.8.10","lessThanOrEqual":"6.8.*","status":"unaffected","versionType":"semver"},{"version":"6.9","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.1","versionEndExcluding":"4.19.314"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.4.276"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.10.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.15.159"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.1.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.6.31"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.8.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.0.5"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/e90bc596a74bb905e0a45bf346038c3f9d1e868d"},{"url":"https://git.kernel.org/stable/c/df1962a199783ecd66734d563caf0fedecf08f96"},{"url":"https://git.kernel.org/stable/c/5a605930e19f451294bd838754f7d66c976a8a2c"},{"url":"https://git.kernel.org/stable/c/ad4f65328661392de74e3608bb736fedf3b67e32"},{"url":"https://git.kernel.org/stable/c/ca9b5c81f0c918c63d73d962ed8a8e231f840bc8"},{"url":"https://git.kernel.org/stable/c/e55c601af3b1223a84f9f27f9cdbd2af5e203bf3"},{"url":"https://git.kernel.org/stable/c/157d468e34fdd3cb1ddc07c2be32fb3b02826b02"},{"url":"https://git.kernel.org/stable/c/cd25e15e57e68a6b18dc9323047fe9c68b99290b"}],"title":"fs/9p: only translate RWX permissions for plain 9P2000","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-06-21T18:11:48.356880Z","id":"CVE-2024-36964","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-06-21T18:11:56.154Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-02T03:43:50.532Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/e90bc596a74bb905e0a45bf346038c3f9d1e868d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/df1962a199783ecd66734d563caf0fedecf08f96","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5a605930e19f451294bd838754f7d66c976a8a2c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/ad4f65328661392de74e3608bb736fedf3b67e32","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/ca9b5c81f0c918c63d73d962ed8a8e231f840bc8","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/e55c601af3b1223a84f9f27f9cdbd2af5e203bf3","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/157d468e34fdd3cb1ddc07c2be32fb3b02826b02","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/cd25e15e57e68a6b18dc9323047fe9c68b99290b","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html","tags":["x_transferred"]}]}]},"dataVersion":"5.2"}