Bug 698996 (CVE-2011-1745, CVE-2011-2022) - CVE-2011-1745 CVE-2011-2022 kernel: agp: insufficient pg_start parameter checking in AGPIOC_BIND and AGPIOC_UNBIND ioctls
Summary: CVE-2011-1745 CVE-2011-2022 kernel: agp: insufficient pg_start parameter chec...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2011-1745, CVE-2011-2022
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 699005 699006 699007 699307 699308
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-04-22 15:16 UTC by Petr Matousek
Modified: 2023-05-12 23:08 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-29 12:42:42 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0927 0 normal SHIPPED_LIVE Important: kernel security and bug fix update 2011-07-15 06:07:56 UTC
Red Hat Product Errata RHSA-2011:1253 0 normal SHIPPED_LIVE Important: kernel-rt security and bug fix update 2011-09-12 19:43:48 UTC
Red Hat Product Errata RHSA-2011:1350 0 normal SHIPPED_LIVE Important: kernel security, bug fix, and enhancement update 2011-10-05 21:47:16 UTC

Description Petr Matousek 2011-04-22 15:16:48 UTC
pg_start is copied from userspace on AGPIOC_BIND and AGPIOC_UNBIND ioctl
cmds of agp_ioctl() and passed to agpioc_bind_wrap().  As said in the
comment, (pg_start + mem->page_count) may wrap in case of AGPIOC_BIND,
and it is not checked at all in case of AGPIOC_UNBIND.  As a result, user
with sufficient privileges (usually "video" group) may generate either
local DoS or privilege escalation.

Reference and patch:
https://lkml.org/lkml/2011/4/14/293

Comment 4 Eugene Teo (Security Response) 2011-04-25 02:46:50 UTC
Upstream commit:
http://git.kernel.org/linus/194b3da873fd334ef183806db751473512af29ce

Comment 5 Eugene Teo (Security Response) 2011-04-25 02:48:41 UTC
Statement:

This issue affects the versions of Linux kernel as shipped with Red Hat
Enterprise 4, 5, 6, and Red Hat Enterprise MRG. This has been addressed in Red Hat Enterprise Linux 5, 6, and Red Hat Enterprise MRG via https://rhn.redhat.com/errata/RHSA-2011-0927.html, https://rhn.redhat.com/errata/RHSA-2011-1350.html, and https://rhn.redhat.com/errata/RHSA-2011-1253.html. Red Hat Enterprise Linux 4 is now in Production 3 of the maintenance life-cycle, https://access.redhat.com/support/policy/updates/errata/, therefore the fix for this issue is not currently planned to be included in the future updates.

Comment 6 Vincent Danen 2011-05-09 19:59:52 UTC
MITRE has assigned an additional CVE name to this issue (CVE-2011-2022), the following is the description of both flaws.  Note that because the same git commit corrects both flaws, I'm not filing a second bug (as it is unlikely we would fix one and not the other).

Common Vulnerabilities and Exposures assigned an identifier CVE-2011-1745 to
the following vulnerability:

Name: CVE-2011-1745
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1745
Assigned: 20110419
Reference: https://lkml.org/lkml/2011/4/14/293
Reference: http://openwall.com/lists/oss-security/2011/04/21/4
Reference: http://openwall.com/lists/oss-security/2011/04/22/7
Reference: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=194b3da873fd334ef183806db751473512af29ce
Reference: http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.38.5
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=698996

Integer overflow in the agp_generic_insert_memory function in
drivers/char/agp/generic.c in the Linux kernel before 2.6.38.5 allows
local users to gain privileges or cause a denial of service (system
crash) via a crafted AGPIOC_BIND agp_ioctl ioctl call.




Common Vulnerabilities and Exposures assigned an identifier CVE-2011-2022 to
the following vulnerability:

Name: CVE-2011-2022
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2022
Assigned: 20110509
Reference: https://lkml.org/lkml/2011/4/14/293
Reference: http://openwall.com/lists/oss-security/2011/04/21/4
Reference: http://openwall.com/lists/oss-security/2011/04/22/7
Reference: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=194b3da873fd334ef183806db751473512af29ce
Reference: http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.38.5
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=698996

The agp_generic_remove_memory function in drivers/char/agp/generic.c
in the Linux kernel before 2.6.38.5 does not validate a certain start
parameter, which allows local users to gain privileges or cause a
denial of service (system crash) via a crafted AGPIOC_UNBIND agp_ioctl
ioctl call, a different vulnerability than CVE-2011-1745.

Comment 7 errata-xmlrpc 2011-07-15 06:08:45 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2011:0927 https://rhn.redhat.com/errata/RHSA-2011-0927.html

Comment 8 errata-xmlrpc 2011-09-12 19:44:20 UTC
This issue has been addressed in following products:

  MRG for RHEL-6 v.2

Via RHSA-2011:1253 https://rhn.redhat.com/errata/RHSA-2011-1253.html

Comment 9 Vincent Danen 2011-10-05 20:02:19 UTC
Acknowledgements:

Red Hat would like to thank Vasiliy Kulikov of Openwall for reporting this issue.

Comment 10 errata-xmlrpc 2011-10-05 21:47:24 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

Via RHSA-2011:1350 https://rhn.redhat.com/errata/RHSA-2011-1350.html


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