1. 31 May, 2015 3 commits
    • Keith Packard's avatar
      dix: Allow zero-height PutImage requests (fix for X.Org's CVE-2015-3418). · 2db01a9a
      Keith Packard authored
       The length checking code validates PutImage height and byte width by
       making sure that byte-width >= INT32_MAX / height. If height is zero,
       this generates a divide by zero exception. Allow zero height requests
       explicitly, bypassing the INT32_MAX check.
      
       Fix for regression introduced by fix for CVE-2014-8092.
      
       v2: backports to nx-libs 3.6.x (Mike Gabriel)
       v3: port to NXdispatch.c rather than dispatch.c (Mike DePaulo)
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      2db01a9a
    • Alan Coopersmith's avatar
      dix: integer overflow in ProcPutImage() [CVE-2014-8092 1/4] · 8623faa4
      Alan Coopersmith authored
      ProcPutImage() calculates a length field from a width, left pad and depth
      specified by the client (if the specified format is XYPixmap).
      
      The calculations for the total amount of memory the server needs for the
      pixmap can overflow a 32-bit number, causing out-of-bounds memory writes
      on 32-bit systems (since the length is stored in a long int variable).
      
      v2: backport to nx-libs 3.6.x (Mike DePaulo)
      v3: port to NXdispatch.c rather than dispatch.c (Mike DePaulo)
      Reported-by: 's avatarIlja Van Sprundel <ivansprundel@ioactive.com>
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      
      Conflicts:
      	dix/dispatch.c
      8623faa4
    • Mike DePaulo's avatar
      Avoid use-after-free in dix/dixfonts.c: doImageText() [CVE-2013-4396] from… · c2298e07
      Mike DePaulo authored
      Avoid use-after-free in dix/dixfonts.c: doImageText() [CVE-2013-4396] from xorg/Xserver http://lists.x.org/archives/xorg-announce/2013-October/002332.html
      
      Save a pointer to the passed in closure structure before copying it
      and overwriting the *c pointer to point to our copy instead of the
      original.  If we hit an error, once we free(c), reset c to point to
      the original structure before jumping to the cleanup code that
      references *c.
      
      Since one of the errors being checked for is whether the server was
      able to malloc(c->nChars * itemSize), the client can potentially pass
      a number of characters chosen to cause the malloc to fail and the
      error path to be taken, resulting in the read from freed memory.
      
      Since the memory is accessed almost immediately afterwards, and the
      X server is mostly single threaded, the odds of the free memory having
      invalid contents are low with most malloc implementations when not using
      memory debugging features, but some allocators will definitely overwrite
      the memory there, leading to a likely crash.
      
      v2: Apply to NXdixfonts.c rather than dixfonts.c (Mike DePaulo)
      c2298e07
  2. 29 May, 2015 1 commit
  3. 28 May, 2015 1 commit
  4. 26 May, 2015 3 commits
  5. 25 May, 2015 1 commit
  6. 24 May, 2015 2 commits
  7. 21 May, 2015 3 commits
  8. 20 May, 2015 2 commits
  9. 16 May, 2015 3 commits
  10. 15 May, 2015 6 commits
  11. 12 May, 2015 4 commits
  12. 04 May, 2015 3 commits
  13. 01 May, 2015 3 commits
  14. 30 Apr, 2015 4 commits
  15. 29 Apr, 2015 1 commit