cbcvebase.
CVE-2010-2959
published 2010-09-08

CVE-2010-2959: Integer overflow in net/can/bcm.c in the Controller Area Network (CAN) implementation in the Linux kernel before 2.6.27.53, 2.6.32.x before 2.6.32.21, 2.6.34.x…

PriorityP270high7.2CVSS 2.0
AVLACLAuNCCICAC
ITWEXPLOITVulnCheck KEV
Exploited in the wild
EPSS
3.75%
89.8th percentile
Integer overflow in net/can/bcm.c in the Controller Area Network (CAN) implementation in the Linux kernel before 2.6.27.53, 2.6.32.x before 2.6.32.21, 2.6.34.x before 2.6.34.6, and 2.6.35.x before 2.6.35.4 allows attackers to execute arbitrary code or cause a denial of service (system crash) via crafted CAN traffic.

Affected

11 ranges
VendorProductVersion rangeFixed in
debiandebian_linux——
fedoraprojectfedora——
linuxlinux_kernel< 2.6.27.532.6.27.53
linuxlinux_kernel>= 2.6.32 < 2.6.32.212.6.32.21
linuxlinux_kernel>= 2.6.34 < 2.6.34.62.6.34.6
linuxlinux_kernel>= 2.6.35 < 2.6.35.42.6.35.4
opensuseopensuse——
suselinux_enterprise_desktop——
suselinux_enterprise_high_availability_extension——
suselinux_enterprise_real_time——
suselinux_enterprise_server——

Detection & IOCsextracted from sources · hover to see the quote

filenamei-can-haz-modharden.c↗
urlhttp://jon.oberheide.org/files/i-can-haz-modharden.c↗
commandsocket(PF_CAN, SOCK_DGRAM, CAN_BCM)↗
commandgcc i-can-haz-modharden.c -o i-can-haz-modharden↗
path/proc/kallsyms↗
path/proc/slabinfo↗
path/etc/modprobe.d/blacklist.conf↗
  • →Detect exploit technique: crafted RX_SETUP BCM op with nframes set to (UINT_MAX / CFSIZ) + (ALLOCATION / 16) + 1 to trigger integer overflow during kmalloc, followed by a second RX_SETUP to bypass E2BIG check and overwrite adjacent SLUB memory. ↗
  • →Detect exploit reading /proc/kallsyms to resolve commit_creds and prepare_kernel_cred kernel symbols; non-root access to /proc/kallsyms by a process also holding a PF_CAN socket is highly suspicious. ↗
  • →Detect exploit reading /proc/slabinfo to measure kmalloc-96 SLUB cache occupancy for heap grooming; combined with PF_CAN socket creation this is a strong exploit indicator. ↗
  • →Detect exploit cleanup step: shell command iterating /proc/sysvipc/shm to remove all user-owned shmids via ipcrm before heap grooming; this pattern of bulk ipcrm execution from a non-root process is anomalous. ↗
  • →Kernel module blacklisting of 'can' and 'can_bcm' in /etc/modprobe.d/blacklist.conf prevents unprivileged auto-loading of the vulnerable CAN BCM module, mitigating the attack surface. ↗
  • ·The exploit fails on Fedora 13 with SELinux enabled (even in permissive mode) because SELinux's ipc_has_perm dereferences the ->security member of the smashed kern_ipc_perm, causing a NULL dereference instead of privilege escalation. ↗
  • ·Red Hat Enterprise Linux 3, 4, 5, and Red Hat Enterprise MRG are not vulnerable because they do not include support for the CAN broadcast manager (BCM) protocol. ↗
  • ·The CAN BCM module is only present in kernels from v2.6.25-rc1 onward (introduced in commit ffd980f9); earlier kernels are not affected. ↗

CVSS provenance

nvdv2.07.2HIGHAV:L/AC:L/Au:N/C:C/I:C/A:C
vulncheck7.2HIGH
vendor_redhat7.2HIGH
vendor_ubuntu7.2HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.