Summary: | Missing input sanitation in ProcRenderAddGlyphs triggers SEGV | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | halfdog <me> | ||||||
Component: | Security | Assignee: | X.Org Security <xorg_security> | ||||||
Status: | RESOLVED FIXED | QA Contact: | X.Org Security <xorg_security> | ||||||
Severity: | normal | ||||||||
Priority: | medium | ||||||||
Version: | 7.5 (2009.10) | ||||||||
Hardware: | Other | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 27592 | ||||||||
Attachments: |
|
Description
halfdog
2010-06-28 13:20:43 UTC
Sorry, ubuntu versioning info was misleading: ii xserver-xorg 1:7.5+5ubuntu1 the X.Org X server ii xserver-xorg-core 2:1.7.6-2ubuntu7.2 Xorg X server - core server Created attachment 36586 [details] [review] 0001-render-Bounds-check-for-nglyphs-in-ProcRenderAddGlyp.patch Utterly untested patch that probably works. I don't think this is an exploit path. You could conceivably copy arbitrary data into a (freshly allocated) pixmap, but I can't see a way to make this write into arbitrary server memory. Still, that's a potential information disclosure for XACE kinds of people. But I could be wrong; a second set of eyes would be appreciated. Created attachment 36613 [details] 28801.c Sample code to trigger the bug. The patch in attachment #36586 [details] [review] does appear to prevent the crash (tested against a Xephyr server): X Error of failed request: BadLength (poly request too large or internal Xlib length error) Major opcode of failed request: 143 (RENDER) Minor opcode of failed request: 20 (RenderAddGlyphs) Serial number of failed request: 15 Current serial number in output stream: 16 +++ exited (status 1) +++ But again, anyone who wants to double-check my math to make sure I'm computing the guards correctly, please do. Review of attachment 36586 [details] [review]: Reviewed-by: Julien Cristau <jcristau@debian.org> commit 5725849a1b427cd4a72b84e57f211edb35838718 Author: Adam Jackson <ajax@redhat.com> Date: Mon Jun 28 18:08:50 2010 -0400 render: Bounds check for nglyphs in ProcRenderAddGlyphs (#28801) Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Keith Packard <keithp@keithp.com> unmasking now that the commit is public. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.