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%
88.6th 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.