• 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
Name
Last commit
Last update
bin Loading commit data...
debian Loading commit data...
doc/nx-X11_vs_XOrg69_patches Loading commit data...
etc Loading commit data...
nx-X11 Loading commit data...
nxcomp Loading commit data...
nxcompext Loading commit data...
nxcompshad Loading commit data...
nxproxy Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
Makefile Loading commit data...
README.NX-development Loading commit data...
README.keystrokes Loading commit data...
VERSION Loading commit data...
VERSION.x2goagent Loading commit data...
nx-libs.spec Loading commit data...
replace.sh Loading commit data...