At two points in handling device ioctls via /dev/mpt2ctl, user-supplied length values are used to copy data from userspace into heap buffers without bounds checking, allowing controllable heap corruption and subsequently privilege escalation. Additionally, user-supplied values are used to determine the size of a copy_to_user() as well as the offset into the buffer to be read, with no bounds checking, allowing users to read arbitrary kernel memory. Compile-tested only. Thanks to Eric Moore for suggestions on how to fix this. Acknowledgements: Red Hat would like to thank Dan Rosenberg for reporting this issue.
Some other references: http://marc.info/?l=linux-kernel&m=130202198105756&w=2 http://www.securityfocus.com/bid/47185/info
Statement: This issue did not affect the version of Linux kernel as shipped with Red Hat Enterprise Linux 4 as it did not provide support for MPT (Message Passing Technology) based controllers. This has been addressed in Red Hat Enterprise Linux 5, 6, and Red Hat Enterprise MRG via https://rhn.redhat.com/errata/RHSA-2011-0833.html, and https://rhn.redhat.com/errata/RHSA-2011-0542.html, and https://rhn.redhat.com/errata/RHSA-2011-1253.html.
I saw a couple versions of the fixes for this. Please wait for akpm to update -mm with Dan's version before backporting.
(In reply to comment #6) > I saw a couple versions of the fixes for this. Please wait for akpm to update > -mm with Dan's version before backporting. http://marc.info/?l=linux-scsi&m=130202237006310&w=2
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2011:0542 https://rhn.redhat.com/errata/RHSA-2011-0542.html
This issue has been addressed in following products: Red Hat Enterprise Linux 6.0.Z - Server Only Via RHSA-2011:0883 https://rhn.redhat.com/errata/RHSA-2011-0883.html
(In reply to comment #7) > (In reply to comment #6) > > I saw a couple versions of the fixes for this. Please wait for akpm to update > > -mm with Dan's version before backporting. > > http://marc.info/?l=linux-scsi&m=130202237006310&w=2 Upstream commit: http://git.kernel.org/linus/a1f74ae82d133ebb2aabb19d181944b4e83e9960
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