Bug 443078 (CVE-2008-1943) - CVE-2008-1943 PVFB backend fails to validate frontend's framebuffer description
Summary: CVE-2008-1943 PVFB backend fails to validate frontend's framebuffer description
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2008-1943
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact: Martin Jenner
URL:
Whiteboard:
Depends On: 443376 443377 443585
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-04-18 15:12 UTC by Markus Armbruster
Modified: 2019-09-29 12:24 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-23 17:46:21 UTC
Embargoed:


Attachments (Terms of Use)
Proposed fix (2.68 KB, patch)
2008-04-18 20:00 UTC, Markus Armbruster
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2008:0194 0 normal SHIPPED_LIVE Important: xen security and bug fix update 2008-05-13 12:28:04 UTC

Description Markus Armbruster 2008-04-18 15:12:17 UTC
Description of problem:
The PVFB backend is a user space program running as root in dom0.  A buggy or
malicious frontend can describe its shared framebuffer to it in a way that makes
it map an arbitrary amount of guest memory, malloc an arbitrarily large internal
buffer, or copy arbitrary memory to that buffer.  A domU running a malicious
frontend can abuse the former two for a denial of service attack against dom0. 
It can abuse all three to terminate or crash the backend.  If there's anything
in the backend's address space that gets tickled the wrong way by being read,
the last one is more serious, but I'm not aware of anything like that.

Version-Release number of selected component (if applicable):
I believe all versions are vulnerable to the first two abuses, and all versions
since 3.0.3-45.el5 are additionally vulnerable to the third one.

How reproducible:
Haven't tried, should be 100%.

Steps to Reproduce:
I can prepare a malicious frontend if necessary.

Comment 1 Markus Armbruster 2008-04-18 20:00:21 UTC
Created attachment 302934 [details]
Proposed fix

The fix makes the backend validate the framebuffer description presented by the
frontend on its shared page on initialization.	Code executing after
initialization is not touched.

All frontends we've shipped so far present the same, fixed set of parameters,
which validates fine.

Comment 6 Jan Lieskovsky 2008-05-21 18:01:52 UTC
This issue is enhanced by the CVE-2008-1952 (another size limit check added).

Comment 7 Tomas Hoger 2008-10-15 14:39:55 UTC
Public paper about exploitation of this flaw:

http://marc.info/?l=dailydave&m=122407972124773&w=2
http://invisiblethingslab.com/pub/xenfb-adventures-10.pdf

Comment 8 Vincent Danen 2010-12-23 17:46:21 UTC
This was addressed via:

Red Hat Enterprise Linux version 5 (RHSA-2008:0194)
RHEL Virtualization version 5 (RHSA-2008:0194)


Note You need to log in before you can comment on or make changes to this bug.