summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorsung byeongchan <tjdqudcks0424@naver.com>2026-10-08 15:07:14 +0900
committerIlya Dryomov <idryomov@gmail.com>2026-10-26 14:15:47 +0100
commit7f702e1703c9648fcb02a217d66c880d00417150 (patch)
tree1135f9bfaebeef25f82196ca602f763006a9d6d4 /tools/lib/python
parentbc418e234e5be14b97dec90e84a680e615b4134e (diff)
ceph: bound name skips in ceph_mdsmap_decode() by the message end
ceph_mdsmap_decode() reads two remote u32 name lengths and advances its parser cursor without checking that either string remains in the message. On a 32-bit client, a sufficiently large length can wrap the cursor below `end`. The following numerical bounds check then succeeds and dereferences the wrapped address. Use ceph_decode_skip_n() for both names so the remaining bytes are checked before the cursor advances. The issue produced a page fault in ceph_mdsmap_decode twice on the tested i386 baseline. The same frame was rejected without a fault twice after this change, while a normal MDSMap continued to be accepted. Cc: stable@vger.kernel.org Fixes: 2f2dc053404f ("ceph: MDS client") Assisted-by: LLM Signed-off-by: sung byeongchan <tjdqudcks0424@naver.com> Reviewed-by: Alex Markuze <amarkuze@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions