{"id":"CVE-2026-52955","revision":"11433dc3307047568c2772dc998ba958","records":[{"revision":"11433dc3307047568c2772dc998ba958","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-52955","aliases":[],"title":"libceph: Fix potential out-of-bounds access in crush_decode()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nlibceph: Fix potential out-of-bounds access in crush_decode()\n\nA message of type CEPH_MSG_OSD_MAP containing a crush map with at least\none bucket has two fields holding the bucket algorithm. If the values\nin these two fields differ, an out-of-bounds access can occur. This is\nthe case because the first algorithm field (alg) is used to allocate\nthe correct amount of memory for a bucket of this type, while the second\nalgorithm field inside the bucket (b->alg) is used in the subsequent\nprocessing.\n\nThis patch fixes the issue by adding a check that compares alg and\nb->alg and aborts the processing in case they differ. Furthermore,\nb->alg is set to 0 in this case, because the destruction of the crush\nmap also uses this field to determine the bucket type, which can again\nresult in an out-of-bounds access when trying to free the memory pointed\nto by the fields of the bucket. To correctly free the memory allocated\nfor the bucket in such a case, the corresponding call to kfree is moved\nfrom the algorithm-specific crush_destroy_bucket functions to the\ngeneric crush_destroy_bucket().","state":0,"publishedAt":"2026-06-24T16:28:37.748+00:00","modifiedAt":"2026-10-19T19:47:09.949+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/ceph/crush/crush.c\",\n                        \"net/ceph/osdmap.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"6e70ef53e818c53eab28d7b0026b7fd03dddaba5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"ebe76d58a48a48031b98543d86c4cd30a825b622\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"3f42508191e129ee6b5ea96578d5cab14f2a013a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"ea0d42137f0c06da71e37ffc647aab4c5309599a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"cceb10023e76bc89f3fe9238ebd0ccab0fc7c7c5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"0f3604cbe4df14c5e58288ac9f57511e726a222d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"fb176a99e4c1a5a8448a83d83d3606203ba81faa\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f24e9980eb860d8600cbe5ef3d2fd9295320d229\",\n                            \"lessThan\": \"4c79fc2d598694bda845b46229c9d48b65042970\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/ceph/crush/crush.c\",\n                        \"net/ceph/osdmap.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.34\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.34\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.258\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.209\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.175\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.141\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.91\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.33\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.0.10\",\n                            \"lessThanOrEqual\": \"7.0.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8,"severity":"CRITICAL"}],"references":["https://git.kernel.org/stable/c/6e70ef53e818c53eab28d7b0026b7fd03dddaba5","https://git.kernel.org/stable/c/ebe76d58a48a48031b98543d86c4cd30a825b622","https://git.kernel.org/stable/c/3f42508191e129ee6b5ea96578d5cab14f2a013a","https://git.kernel.org/stable/c/ea0d42137f0c06da71e37ffc647aab4c5309599a","https://git.kernel.org/stable/c/cceb10023e76bc89f3fe9238ebd0ccab0fc7c7c5","https://git.kernel.org/stable/c/0f3604cbe4df14c5e58288ac9f57511e726a222d","https://git.kernel.org/stable/c/fb176a99e4c1a5a8448a83d83d3606203ba81faa","https://git.kernel.org/stable/c/4c79fc2d598694bda845b46229c9d48b65042970"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-52955","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-52955","identifiers":["CVE-2026-52955"]},"retained":false,"historicalAffected":[]}],"coverage":[]}