{"id":"CVE-2026-68155","state":"PUBLISHED","title":"libceph: Reject monmaps advertising zero monitors","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nlibceph: Reject monmaps advertising zero monitors\n\nA message of type CEPH_MSG_MON_MAP contains a monmap that is sent from a\nmonitor to the client. This monmap contains information about the\nexisting monitors in the cluster. Currently, a monmap indicating that\nthere are zero monitors in the cluster is treated as valid. However, it\nis impossible to have zero monitors in the cluster and still receive a\nvalid monmap from a monitor. Therefore, such a monmap must be corrupted\nand should be treated as invalid. Furthermore, a monmap with a monitor\ncount of zero can subsequently crash the client when attempting to open\na session with a monitor in __open_session(). This happens because the\n\"BUG_ON(monc->monmap->num_mon < 1)\" assertion in pick_new_mon() is\ntriggered.\n\nThis patch extends a check in ceph_monmap_decode() to also reject\narriving mon_maps with num_mon == 0 rather than only with\nnum_mon > CEPH_MAX_MON.\n\n[ idryomov: drop \"log output for unusual values of num_mon\" part ]","publishedAt":"2026-08-10T11:59:21.200Z","updatedAt":"2026-10-19T20:58:54.643Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"ba5f0015bfd376d764163045a61c17be75f44dae","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"caf082ef8609a6ac26159ce115f55ab7d00231a3","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"e3ccd4ecab09b22f507f49cb7ed9990c7158ceab","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"0591a15815b498be628a937146e44487d599ba33","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"cd0d41bc569632eaaeccde9d2a6bc919ec00c407","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"e67e8b694872c9bc66996040f9de9242f6236ed9","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"3b249546f59c3d6d3592c10657f82bc3f1faa07c","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"40480eee361ed9676b3f844d532ac28b47251634","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ceph/mon_client.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.34","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.34","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ceph/mon_client.c"]}],"references":["https://git.kernel.org/stable/c/ba5f0015bfd376d764163045a61c17be75f44dae","https://git.kernel.org/stable/c/caf082ef8609a6ac26159ce115f55ab7d00231a3","https://git.kernel.org/stable/c/e3ccd4ecab09b22f507f49cb7ed9990c7158ceab","https://git.kernel.org/stable/c/0591a15815b498be628a937146e44487d599ba33","https://git.kernel.org/stable/c/cd0d41bc569632eaaeccde9d2a6bc919ec00c407","https://git.kernel.org/stable/c/e67e8b694872c9bc66996040f9de9242f6236ed9","https://git.kernel.org/stable/c/3b249546f59c3d6d3592c10657f82bc3f1faa07c","https://git.kernel.org/stable/c/40480eee361ed9676b3f844d532ac28b47251634"],"weaknesses":["CWE-20"],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68155.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68155","state":"PUBLISHED","datePublished":"2026-08-10T11:59:21.200Z","dateUpdated":"2026-10-19T20:58:54.643Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.371Z"},"containers":{"cna":{"title":"libceph: Reject monmaps advertising zero monitors","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nlibceph: Reject monmaps advertising zero monitors\n\nA message of type CEPH_MSG_MON_MAP contains a monmap that is sent from a\nmonitor to the client. This monmap contains information about the\nexisting monitors in the cluster. Currently, a monmap indicating that\nthere are zero monitors in the cluster is treated as valid. However, it\nis impossible to have zero monitors in the cluster and still receive a\nvalid monmap from a monitor. Therefore, such a monmap must be corrupted\nand should be treated as invalid. Furthermore, a monmap with a monitor\ncount of zero can subsequently crash the client when attempting to open\na session with a monitor in __open_session(). This happens because the\n\"BUG_ON(monc->monmap->num_mon < 1)\" assertion in pick_new_mon() is\ntriggered.\n\nThis patch extends a check in ceph_monmap_decode() to also reject\narriving mon_maps with num_mon == 0 rather than only with\nnum_mon > CEPH_MAX_MON.\n\n[ idryomov: drop \"log output for unusual values of num_mon\" part ]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"ba5f0015bfd376d764163045a61c17be75f44dae","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"caf082ef8609a6ac26159ce115f55ab7d00231a3","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"e3ccd4ecab09b22f507f49cb7ed9990c7158ceab","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"0591a15815b498be628a937146e44487d599ba33","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"cd0d41bc569632eaaeccde9d2a6bc919ec00c407","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"e67e8b694872c9bc66996040f9de9242f6236ed9","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"3b249546f59c3d6d3592c10657f82bc3f1faa07c","versionType":"git"},{"version":"ba75bb98cfb93b62c54af25bf67ff90857264bbe","status":"affected","lessThan":"40480eee361ed9676b3f844d532ac28b47251634","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ceph/mon_client.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.34","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.34","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ceph/mon_client.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ba5f0015bfd376d764163045a61c17be75f44dae"},{"url":"https://git.kernel.org/stable/c/caf082ef8609a6ac26159ce115f55ab7d00231a3"},{"url":"https://git.kernel.org/stable/c/e3ccd4ecab09b22f507f49cb7ed9990c7158ceab"},{"url":"https://git.kernel.org/stable/c/0591a15815b498be628a937146e44487d599ba33"},{"url":"https://git.kernel.org/stable/c/cd0d41bc569632eaaeccde9d2a6bc919ec00c407"},{"url":"https://git.kernel.org/stable/c/e67e8b694872c9bc66996040f9de9242f6236ed9"},{"url":"https://git.kernel.org/stable/c/3b249546f59c3d6d3592c10657f82bc3f1faa07c"},{"url":"https://git.kernel.org/stable/c/40480eee361ed9676b3f844d532ac28b47251634"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug is reached when libceph decodes CEPH_MSG_MON_MAP from a remote Ceph monitor over the kernel client's established TCP/msgr2 session (mon_dispatch -> ceph_monc_handle_map -> ceph_monmap_decode), which is a network protocol attack surface on CephFS/RBD/cloud nodes.\nAC:L - An attacker who can send monitor protocol messages only needs to set num_mon=0 in the monmap; once accepted, any later session reopen (keepalive timeout, hunt, or connection fault) deterministically hits BUG_ON in pick_new_mon without races or special memory layout.\nPR:N - In the highest-impact scenario a malicious or compromised Ceph monitor (or equivalent authenticated cluster peer) sends the malformed monmap to already-connected kernel clients; the attacker needs no local privileges on the victim host.\nUI:N - After a Ceph client session exists, monmap updates are delivered and processed automatically by the kernel monitor client; no further mount, open, or other victim interaction is required to accept the bad map and later crash on reconnect.\nS:U - Exploitation causes a kernel BUG/panic within the same kernel security domain and does not cross VM, container, IOMMU, or other security boundaries.\nC:N - The failure mode is a BUG_ON assertion in pick_new_mon when num_mon is zero; there is no memory corruption, out-of-bounds access, or other information disclosure primitive on the vulnerable path.\nI:N - Accepting num_mon==0 only stores an empty monmap and later triggers a deliberate kernel BUG; attacker input does not corrupt or modify arbitrary kernel memory or enable code execution.\nA:H - BUG_ON(monc->monmap->num_mon < 1) in pick_new_mon during __open_session causes a kernel oops/panic, fully denying availability of the affected host until reboot."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-03T10:55:38.556Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"5.10.271"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"5.15.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.34","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-68155","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:45:06.305922Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","lang":"en","type":"CWE","description":"CWE-20 Improper Input Validation"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:58:54.643Z"}}]}}}