Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-80557— libceph: fix OOB read in decode_watchers() via missing bounds check

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux 内核中已修复以下漏洞: libceph:修复 decode_watchers() 中因缺少边界检查导致的越界读取(OOB read) 会验证在编码头之后缓冲区中剩余 字节,但允许 作为有效值: 始终通过。当恶意或失陷的 OSD 发送一个 的 响应时, 会在 的情况下返回成功,导致后续读取没有保证任何可用字节。 紧随其后的 中的 前面没有进行边界检查。当 时,这将导致在已验证的缓冲区边界之外进行 4 字节的读取。这个垃圾值随后被直接传递给 作为观察者数量。 其姊妹函数 在自身的 调用之后,已经使用了安全变

AI Predicted 5.5 Difficulty: Moderate

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux a4ed38d7a180f184a6e7aedd09db9ca4b1e6a71c< 7130d94846dadbb97b6b7f4d78a3a7bba6e3daa1 affected
a4ed38d7a180f184a6e7aedd09db9ca4b1e6a71c< 00ead17c7de137a692edee59f2772e6af687e8eb affected
4.9 affected
< 4.9 unaffected
7.1.10≤ 7.1.* unaffected
7.2≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-80557

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
libceph: fix OOB read in decode_watchers() via missing bounds check
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: libceph: fix OOB read in decode_watchers() via missing bounds check ceph_start_decoding() validates that struct_len bytes remain in the buffer after the encoding header, but accepts struct_len=0 as valid: ceph_decode_need(p, end, 0, bad) always passes. When a malicious or compromised OSD sends an obj_list_watch_response_t reply with struct_len=0, ceph_start_decoding() returns success with p == end, leaving zero bytes guaranteed for subsequent reads. The immediately following ceph_decode_32(p) in decode_watchers() has no preceding bounds check. With p == end this is a 4-byte read past the validated buffer boundary. The garbage value is then passed directly to kzalloc_objs() as the watcher count. The sibling function decode_watcher() already uses the safe variants (ceph_decode_copy_safe, ceph_decode_64_safe, ceph_decode_skip_32) after its own ceph_start_decoding() call. decode_watchers() is the only site that uses the bare variant, confirming an oversight. Fix by replacing ceph_decode_32(p) with ceph_decode_32_safe(p, end, *num_watchers, bad), consistent with the established pattern. Attacker model: a malicious or compromised OSD in a multi-tenant Ceph deployment (e.g. cloud) can trigger this against any kernel client that calls CEPH_OSD_OP_LIST_WATCHERS, without any further privileges beyond OSD session establishment. [ idryomov: trim changelog ]
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux a4ed38d7a180f184a6e7aedd09db9ca4b1e6a71c ~ 7130d94846dadbb97b6b7f4d78a3a7bba6e3daa1 -
Linux Linux 4.9 -

II. Public POCs for CVE-2026-80557

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-80557

登录查看更多情报信息。

Patches & Fixes for CVE-2026-80557 (2)

Same Patch Batch · Linux · 2026-08-26 · 92 CVEs total

CVE-2026-80556 mmc: atmel-mci: Fix use-after-free in atmci_remove due to race condition
CVE-2026-80553 s390/vfio_ccw: Cancel existing workqueues
CVE-2026-80552 s390/vfio_ccw: Ensure index for read/write regions are within range
CVE-2026-80549 s390/vfio_ccw: Move cp cleanup out of not operational
CVE-2026-80546 s390/zcrypt: Improve CCA CPRB length and overflow checks
CVE-2026-80547 s390/vfio_ccw: Implement a crw lock
CVE-2026-80545 s390/zcrypt: Improve EP11 CPRB length and overflow checks
CVE-2026-80543 s390/zcrypt: Pad trailing CCA or EP11 message with zeros
CVE-2026-80548 s390/vfio_ccw: Selectively expand io_mutex
CVE-2026-80555 s390/vfio_ccw: Free all memory if cp_init() fails
CVE-2026-80554 s390/vfio_ccw: Limit the number of channel program segments
CVE-2026-80559 Input: sur40 - fix input device registration ordering
CVE-2026-80558 libceph: Avoid using invalid osd indices from primary_temp
CVE-2026-80560 openrisc: signal: do not restore privileged SR bits on sigreturn
CVE-2026-80561 libceph: fix multiple unsafe decodes in decode_locker()
CVE-2026-80562 gpio: ml-ioh: use raw_spinlock_t for the register lock
CVE-2026-80563 gpio: sloppy-logic-analyzer: fix use-after-free via debugfs trigger on unbind
CVE-2026-80564 gve: fix NULL dereference due to missing ptp adjfine
CVE-2026-80565 crypto: qce - fix error path in devm_qce_register_algs
CVE-2026-80566 Input: hynitron_cstxxx - validate touch count and finger IDs

Showing top 20 of 92 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-80557

No comments yet


Leave a comment