1. 14 Feb, 2015 22 commits
    • Mike DePaulo's avatar
      CVE-2014-0210: unvalidated length fields in fs_read_query_info() from… · c6aebf92
      Mike DePaulo authored
      CVE-2014-0210: unvalidated length fields in fs_read_query_info() from xorg/lib/libXfont commit 491291cabf78efdeec8f18b09e14726a9030cc8f
      
      fs_read_query_info() parses a reply from the font server.  The reply
      contains embedded length fields, none of which are validated.  This
      can cause out of bound reads in either fs_read_query_info() or in
      _fs_convert_props() which it calls to parse the fsPropInfo in the reply.
      c6aebf92
    • Mike DePaulo's avatar
      CVE-2014-0211: Integer overflow in fs_get_reply/_fs_start_read from… · 2d724c1a
      Mike DePaulo authored
      CVE-2014-0211: Integer overflow in fs_get_reply/_fs_start_read from xorg/lib/libXfont commit 0f1a5d372c143f91a602bdf10c917d7eabaee09b
      
      fs_get_reply() would take any reply size, multiply it by 4 and pass to
      _fs_start_read.  If that size was bigger than the current reply buffer
      size, _fs_start_read would add it to the existing buffer size plus the
      buffer size increment constant and realloc the buffer to that result.
      
      This math could overflow, causing the code to allocate a smaller
      buffer than the amount it was about to read into that buffer from
      the network.  It could also succeed, allowing the remote font server
      to cause massive allocations in the X server, possibly using up all
      the address space in a 32-bit X server, allowing the triggering of
      other bugs in code that fails to handle malloc failure properly.
      
      This patch protects against both problems, by disconnecting any
      font server trying to feed us more than (the somewhat arbitrary)
      64 mb in a single reply.
      2d724c1a
    • Mike DePaulo's avatar
      CVE-2014-0210: unvalidated lengths when reading replies from font server from… · 50e80a06
      Mike DePaulo authored
      CVE-2014-0210: unvalidated lengths when reading replies from font server from xorg/lib/libXfont commit cbb64aef35960b2882be721f4b8fbaa0fb649d12
      
      Functions to handle replies to font server requests were casting replies
      from the generic form to reply specific structs without first checking
      that the reply was at least as long as the struct being cast to.
      50e80a06
    • Mike DePaulo's avatar
      Don't crash when we receive an FS_Error from the font server (Guillem Jover).… · a2c7cd9f
      Mike DePaulo authored
      Don't crash when we receive an FS_Error from the font server (Guillem Jover). from xorg/lib/libXfont commit bfb8a71f4f7e5c5ed4278cb3ee271bf9990d276d
      a2c7cd9f
    • Mike DePaulo's avatar
      CVE-2014-0210: unvalidated length in _fs_recv_conn_setup() from… · 94c6de06
      Mike DePaulo authored
      CVE-2014-0210: unvalidated length in _fs_recv_conn_setup() from xorg/lib/libXfont commit 891e084b26837162b12f841060086a105edde86d
      
      The connection setup reply from the font server can include a list
      of alternate servers to contact if this font server stops working.
      
      The reply specifies a total size of all the font server names, and
      then provides a list of names. _fs_recv_conn_setup() allocated the
      specified total size for copying the names to, but didn't check to
      make sure it wasn't copying more data to that buffer than the size
      it had allocated.
      94c6de06
    • Mike DePaulo's avatar
      CVE-2014-0209: integer overflow of realloc() size in lexAlias() from… · 36f1dae7
      Mike DePaulo authored
      CVE-2014-0209: integer overflow of realloc() size in lexAlias() from xorg/lib/libXfont commit 05c8020a49416dd8b7510cbba45ce4f3fc81a7dc
      
      lexAlias() reads from a file in a loop. It does this by starting with a
      64 byte buffer.  If that size limit is hit, it does a realloc of the
      buffer size << 1, basically doubling the needed length every time the
      length limit is hit.
      
      Eventually, this will shift out to 0 (for a length of ~4gig), and that
      length will be passed on to realloc().  A length of 0 (with a valid
      pointer) causes realloc to free the buffer on most POSIX platforms,
      but the caller will still have a pointer to it, leading to use after
      free issues.
      36f1dae7
    • Mike DePaulo's avatar
      CVE-2014-0209: integer overflow of realloc() size in FontFileAddEntry() from… · f53f2474
      Mike DePaulo authored
      CVE-2014-0209: integer overflow of realloc() size in FontFileAddEntry() from xorg/lib/libXfont commit 2f5e57317339c526e6eaee1010b0e2ab8089c42e
      
      FontFileReadDirectory() opens a fonts.dir file, and reads over every
      line in an fscanf loop.  For each successful entry read (font name,
      file name) a call is made to FontFileAddFontFile().
      
      FontFileAddFontFile() will add a font file entry (for the font name
      and file) each time it’s called, by calling FontFileAddEntry().
      FontFileAddEntry() will do the actual adding.  If the table it has
      to add to is full, it will do a realloc, adding 100 more entries
      to the table size without checking to see if that will overflow the
      int used to store the size.
      f53f2474
    • Mike DePaulo's avatar
      CVE-2013-6462: unlimited sscanf overflows stack buffer in bdfReadCharacters()… · ac669437
      Mike DePaulo authored
      CVE-2013-6462: unlimited sscanf overflows stack buffer in bdfReadCharacters() from xorg/lib/libXfont http://lists.x.org/archives/xorg-announce/2014-January/002389.html
      
      Fixes cppcheck warning:
       [lib/libXfont/src/bitmap/bdfread.c:341]: (warning)
        scanf without field width limits can crash with huge input data.
      ac669437
    • Mike DePaulo's avatar
      Avoid use-after-free in dix/dixfonts.c: doImageText() [CVE-2013-4396] from… · 72790a55
      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.
      72790a55
    • Mike DePaulo's avatar
      Fix CVE-2011-4028: File disclosure vulnerability. upstream xorg/xserver commit… · df4a3b72
      Mike DePaulo authored
      Fix CVE-2011-4028: File disclosure vulnerability. upstream xorg/xserver commit 6ba44b91e37622ef8c146d8f2ac92d708a18ed34
      
      use O_NOFOLLOW to open the existing lock file, so symbolic links
      aren't followed, thus avoid revealing if it point to an existing
      file.
      df4a3b72
    • Mike DePaulo's avatar
      LZW decompress: fix for CVE-2011-2895 From xorg/lib/Xfont commit… · af55da1e
      Mike DePaulo authored
      LZW decompress: fix for CVE-2011-2895 From xorg/lib/Xfont commit d11ee5886e9d9ec610051a206b135a4cdc1e09a0
      
          Specially crafted LZW stream can crash an application using libXfont
          that is used to open untrusted font files.  With X server, this may
          allow privilege escalation when exploited
      af55da1e
    • Mike Gabriel's avatar
      Move COPYING.full+lite as COPYING to / · 902dc519
      Mike Gabriel authored
        Adapted packaging scripts:
      
         debian/roll-tarballs.sh
         nx-libs.spec
      902dc519
    • Mike Gabriel's avatar
      Move all config files from $(srcbase)/debian/ into $(srcbase)/etc/ folder. · 9000c00d
      Mike Gabriel authored
        Affected packagings scripts:
      
          debian/roll-tarballs.sh
          debian/rules
          nx-libs.spec
      9000c00d
    • Mike Gabriel's avatar
      Provide wrapper scripts for launch NX components in $(src)/bin/. · 53329e60
      Mike Gabriel authored
        The installation process copies NX wrapper scripts into
        $(srcbase)/bin/ before build time.
      
        Those wrapper scripts are now in place natively and need not
        to be copied prior to building NX.
      
        Packaging scripts with adaptation:
      
         debian/roll-tarballs.sh
         debian/rules
         debian/*.docs
         nx-libs.spec
      53329e60
    • Mike Gabriel's avatar
      Prepare for maintaing upstream changes in upstream ChangeLog. · 1a824cfb
      Mike Gabriel authored
        This makes it obsolete to add changes to debian/changelog. We document
        our changes in Git (3.6.x branch and other related branches). On
        release, we generate an upstream ChangeLog from Git history.
      
        Only on the 3.5.0.x, we continue maintaining our changes in
        debian/changelog (to be compliant with current nx-libs release workflow
        in X2Go).
      
        The following packaging scripts needed adaptations to this change:
      
          debian/roll-tarballs.sh
          debian/rules
          nx-libs.spec
      1a824cfb
    • Mike Gabriel's avatar
      VERSION file: master VERSION file is in base folder, symlinked from nx*/VERSION… · ce531230
      Mike Gabriel authored
      VERSION file: master VERSION file is in base folder, symlinked from nx*/VERSION and hw/nxagent/VERSION.
      
        This commit removes the debian/VERSION file at makes it now unnecessary to
        copy/symlink the VERSION file at build time. These build scripts got adapted:
      
          debian/roll-tarballs.sh
          debian/rules
          nx-libs.spec
      
        Furthermore, all NX component now use the main VERSION file as reference.
      
          typechange: nxcomp/VERSION
          typechange: nxcompext/VERSION
          typechange: nxcompshad/VERSION
          typechange: nxproxy/VERSION
      ce531230
    • Mike Gabriel's avatar
      Move Makefile (and auxiliary file replace.sh) into base folder. Adapt packaging these scripts: · ea8ca04a
      Mike Gabriel authored
          debian/roll-tarballs.sh
          debian/rules
          nx-libs.spec
      ea8ca04a
    • Mike Gabriel's avatar
      ebf71e0a
    • Mike Gabriel's avatar
      82345051
    • Mike Gabriel's avatar
    • Mike Gabriel's avatar
    • Mike Gabriel's avatar
      Revert "Fix build when LDFLAGS (etc) contains spaces." · db3c6a6d
      Mike Gabriel authored
      This reverts commit 4436e979.
      db3c6a6d
  2. 13 Feb, 2015 17 commits
  3. 12 Feb, 2015 1 commit