1. 13 Jul, 2023 1 commit
    • Ilya Dryomov's avatar
      libceph: harden msgr2.1 frame segment length checks · a282a2f1
      Ilya Dryomov authored
      ceph_frame_desc::fd_lens is an int array.  decode_preamble() thus
      effectively casts u32 -> int but the checks for segment lengths are
      written as if on unsigned values.  While reading in HELLO or one of the
      AUTH frames (before authentication is completed), arithmetic in
      head_onwire_len() can get duped by negative ctrl_len and produce
      head_len which is less than CEPH_PREAMBLE_LEN but still positive.
      This would lead to a buffer overrun in prepare_read_control() as the
      preamble gets copied to the newly allocated buffer of size head_len.
      
      Cc: stable@vger.kernel.org
      Fixes: cd1a677c ("libceph, ceph: implement msgr2.1 protocol (crc and secure modes)")
      Reported-by: default avatarThelford Williams <thelford@google.com>
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarXiubo Li <xiubli@redhat.com>
      a282a2f1
  2. 09 Jul, 2023 10 commits
  3. 08 Jul, 2023 29 commits