1. 05 Feb, 2019 1 commit
    • Christophe Fergeau's avatar
      memslot: Fix off-by-one error in group/slot boundary check · a4a16ac4
      Christophe Fergeau authored
      RedMemSlotInfo keeps an array of groups, and each group contains an
      array of slots. Unfortunately, these checks are off by 1, they check
      that the index is greater or equal to the number of elements in the
      array, while these arrays are 0 based. The check should only check for
      strictly greater than the number of elements.
      
      For the group array, this is not a big issue, as these memslot groups
      are created by spice-server users (eg QEMU), and the group ids used to
      index that array are also generated by the spice-server user, so it
      should not be possible for the guest to set them to arbitrary values.
      
      The slot id is more problematic, as it's calculated from a QXLPHYSICAL
      address, and such addresses are usually set by the guest QXL driver, so
      the guest can set these to arbitrary values, including malicious values,
      which are probably easy to build from the guest PCI configuration.
      
      This patch fixes the arrays bound check, and adds a test case for this.
      This fixes CVE-2019-3813.
      Signed-off-by: Christophe Fergeau's avatarChristophe Fergeau <cfergeau@redhat.com>
      Acked-by: Frediano Ziglio's avatarFrediano Ziglio <fziglio@redhat.com>
      a4a16ac4
  2. 06 Dec, 2018 2 commits
  3. 01 Dec, 2017 1 commit
  4. 02 May, 2017 1 commit
  5. 21 Mar, 2017 1 commit
  6. 25 Nov, 2016 1 commit
  7. 01 Nov, 2016 3 commits
  8. 19 Jan, 2016 1 commit
  9. 08 Jan, 2016 2 commits