{
  "threat_severity" : "Important",
  "public_date" : "2010-10-19T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: RDS sockets local privilege escalation",
    "id" : "642896",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=642896"
  },
  "cvss" : {
    "cvss_base_score" : "7.2",
    "cvss_scoring_vector" : "AV:L/AC:L/Au:N/C:C/I:C/A:C",
    "status" : "verified"
  },
  "cwe" : "CWE-119",
  "details" : [ "The rds_page_copy_user function in net/rds/page.c in the Reliable Datagram Sockets (RDS) protocol implementation in the Linux kernel before 2.6.36 does not properly validate addresses obtained from user space, which allows local users to gain privileges via crafted use of the sendmsg and recvmsg system calls." ],
  "statement" : "The Linux kernel as shipped with Red Hat Enterprise Linux 3, 4 and Red Hat Enterprise MRG did not include support for the RDS Protocol, and therefore are not affected by this issue. Updates for Red Hat Enterprise Linux 5 and 6 are available to address this flaw.",
  "acknowledgement" : "Red Hat would like to thank Dan Rosenberg (Virtual Security Research) for reporting this issue.",
  "affected_release" : [ {
    "product_name" : "Red Hat Enterprise Linux 5",
    "release_date" : "2010-10-25T00:00:00Z",
    "advisory" : "RHSA-2010:0792",
    "cpe" : "cpe:/o:redhat:enterprise_linux:5",
    "package" : "kernel-0:2.6.18-194.17.4.el5"
  }, {
    "product_name" : "Red Hat Enterprise Linux 6",
    "release_date" : "2010-11-10T00:00:00Z",
    "advisory" : "RHSA-2010:0842",
    "cpe" : "cpe:/o:redhat:enterprise_linux:6",
    "package" : "kernel-0:2.6.32-71.7.1.el6"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2010-3904\nhttps://nvd.nist.gov/vuln/detail/CVE-2010-3904\nhttps://www.cisa.gov/known-exploited-vulnerabilities-catalog" ],
  "name" : "CVE-2010-3904",
  "mitigation" : {
    "value" : "For users that do not run applications that use RDS, you can prevent the rds module from being loaded by adding the following entry to the end of the /etc/modprobe.d/blacklist file:\nblacklist rds\nThis way, the rds module cannot be loaded accidentally, which may occur if an application that requires RDS 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:\nlsmod | grep rds\nYou 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):\necho 0xFFFEFFFF > /proc/sys/kernel/cap-bound",
    "lang" : "en:us"
  },
  "csaw" : false
}