{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-56563","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-12-27T14:03:05.994Z","datePublished":"2024-12-27T14:23:07.854Z","dateUpdated":"2026-08-05T11:45:07.489Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:45:07.489Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nceph: fix cred leak in ceph_mds_check_access()\n\nget_current_cred() increments the reference counter, but the\nput_cred() call was missing."}],"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 leak is triggered by ordinary local VFS syscalls (`open`, `creat`, `unlink`, `chmod`, `truncate`) issued against a mounted CephFS; no network peer input reaches the vulnerable function directly.\nAC:L - The missing `put_cred()` is unconditional — every single call to `ceph_mds_check_access()` leaks a reference with no race, timing window, or special configuration required, so a trivial loop drives the leak deterministically.\nPR:L - Any unprivileged local user with access to a path on an already-mounted CephFS can trigger it; the call sites in `ceph_open()`/`ceph_atomic_open()`/`ceph_unlink()`/`__ceph_setattr() ` are reached before any capability or auth gate.\nUI:N - No action by another user is needed — the attacker triggers the leak entirely on their own via normal file operations on the existing mount.\nS:U - The leaked credentials and any resulting corruption stay within the kernel's own security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The leaked object is `struct cred`, incremented through an unchecked `atomic_long_add()` with no `refcount_t` saturation; on 32-bit builds the counter wraps at 2^32, freeing a live credential structure and yielding a use-after-free read primitive over uid/gid/capability fields.\nI:H - The same credential refcount imbalance/overflow permits a freed `cred` to be reallocated and overwritten by attacker-controlled heap content — the classic CVE-2016-0728-style path to arbitrary modification of `cap_effective`/`euid` and full local privilege escalation.\nA:H - Each operation permanently pins a `cred` plus its `user_struct`, `user_namespace`, `ucounts`, `group_info` and keyrings, so an unprivileged loop produces an unbounded, unreclaimable kernel memory leak ending in OOM, and the 32-bit refcount wrap causes an outright UAF crash."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"],"versions":[{"version":"596afb0b8933ba6ed7227adcc538db26feb25c74","lessThan":"e3d1c9e2b811f13bdbbb962c2b17a6091c28522c","status":"affected","versionType":"git"},{"version":"596afb0b8933ba6ed7227adcc538db26feb25c74","lessThan":"c5cf420303256dcd6ff175643e9e9558543c2047","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ceph/mds_client.c"],"versions":[{"version":"6.10","status":"affected"},{"version":"0","lessThan":"6.10","status":"unaffected","versionType":"semver"},{"version":"6.12.4","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.13","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":"6.10","versionEndExcluding":"6.12.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.13"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/e3d1c9e2b811f13bdbbb962c2b17a6091c28522c"},{"url":"https://git.kernel.org/stable/c/c5cf420303256dcd6ff175643e9e9558543c2047"}],"title":"ceph: fix cred leak in ceph_mds_check_access()","x_generator":{"engine":"bippy-1.2.0"}}}}