Problem Description: The tipc_msg_build() function in net/tipc/msg.c contains an exploitable kernel heap overflow that would allow a local user to escalate privileges to root by issuing maliciously crafted sendmsg() calls via TIPC sockets. Reference: http://marc.info/?l=linux-netdev&m=128770476511716&w=2 http://www.openwall.com/lists/oss-security/2010/10/22/2
Statement: Red Hat is aware of this issue and is tracking it via the following bug: https://bugzilla.redhat.com/CVE-2010-3859. This issue did not affect the version of Linux kernel as shipped with Red Hat Enterprise Linux 3, 4, 6 and Red Hat Enterprise MRG as they did not include support for Transparent Inter-Process Communication Protocol (TIPC). A future kernel update in Red Hat Enterprise Linux 5 may address this flaw. As a preventive measure, we plan to include the fixes in a future kernel update in Red Hat Enterprise Linux 4. Mitigation: For users that do not run applications that use TIPC, you can prevent the TIPC module from being loaded by adding the following entry to the end of the /etc/modprobe.d/blacklist file: blacklist tipc This way, the TIPC module cannot be loaded accidentally, which may occur if an application that requires TIPC is started. A reboot is not necessary for this change to take effect but do make sure the module is not loaded in the first place. You can verify that by running: lsmod | grep tipc You may also consider removing the CAP_SYS_MODULE capability from the current global capability set to prevent kernel modules from being loaded or unloaded. The CAP_SYS_MODULE has a capability number of 16 (see linux/capability.h). The default value has all the bits set. To remove this capability, you have to clear the 16th bit of the default 32-bit value, e.g. 0xffffff ^ (1 << 16): echo 0xFFFEFFFF > /proc/sys/kernel/cap-bound
Upstream attempting to fix this, follow the thread starting with: [PATCH 0/4] RFC: tipc int vs size_t fixes, Paul Gortmaker http://www.spinics.net/lists/netdev/msg145247.html
(In reply to comment #7) > Upstream attempting to fix this, follow the thread starting with: > [PATCH 0/4] RFC: tipc int vs size_t fixes, Paul Gortmaker > http://www.spinics.net/lists/netdev/msg145247.html Actually, these two fixed this issue: http://git.kernel.org/linus/253eacc070b114c2ec1f81b067d2fed7305467b0 http://git.kernel.org/linus/8acfe468b0384e834a303f08ebc4953d72fb690a
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Via RHSA-2011:0004 https://rhn.redhat.com/errata/RHSA-2011-0004.html
This issue has been addressed in following products: Red Hat Enterprise Linux 4 Via RHSA-2011:0162 https://rhn.redhat.com/errata/RHSA-2011-0162.html