---
id: CVE-2026-72113
title: 'can: bcm: add missing device refcount for CAN filter removal'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  can: bcm: add missing device refcount for CAN filter removal

  sashiko-bot remarked a problem with a concurrent device unregistration
  in isotp.c which also is present in…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    bd5232663524e94cc5aad861dca11e3db8e2ab6f
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    ee8b36d0faca08f35b889b6e9aa850695e5b8ba9
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    dcaee869913c7210cd47ed0a8f27349d7bdcdb7b
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    84aa4807816e405c1bf87114fc63e06d244281ef
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    633bda66fbf309f5de5e1ad6defe8e6b1d77a20f
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    b024c21c9066f6957b7d4a8f2037e4b000c5e041
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    04d23061bbf18d5d81022eb21e9d32e99d24468d
  - >-
    Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 <
    d59948293ea34b6337ce2b5febab8510de70048c
  - Linux 2.6.25
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T18:41:41.918613Z'
published: '2026-08-15'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T18:44:56.440Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72113'
references:
  - url: 'https://git.kernel.org/stable/c/bd5232663524e94cc5aad861dca11e3db8e2ab6f'
  - url: 'https://git.kernel.org/stable/c/ee8b36d0faca08f35b889b6e9aa850695e5b8ba9'
  - url: 'https://git.kernel.org/stable/c/dcaee869913c7210cd47ed0a8f27349d7bdcdb7b'
  - url: 'https://git.kernel.org/stable/c/84aa4807816e405c1bf87114fc63e06d244281ef'
  - url: 'https://git.kernel.org/stable/c/633bda66fbf309f5de5e1ad6defe8e6b1d77a20f'
  - url: 'https://git.kernel.org/stable/c/b024c21c9066f6957b7d4a8f2037e4b000c5e041'
  - url: 'https://git.kernel.org/stable/c/04d23061bbf18d5d81022eb21e9d32e99d24468d'
  - url: 'https://git.kernel.org/stable/c/d59948293ea34b6337ce2b5febab8510de70048c'
tags:
  - cve.org
epss: 0.00169
epssPercentile: 0.05785
ingestedAt: '2026-10-16T19:46:24.432Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

can: bcm: add missing device refcount for CAN filter removal

sashiko-bot remarked a problem with a concurrent device unregistration
in isotp.c which also is present in the bcm.c code. A former fix for raw.c
commit c275a176e4b6 ("can: raw: add missing refcount for memory leak fix")
introduced a netdevice_tracker which solves the issue for bcm.c too.

bcm_release(), bcm_delete_rx_op() and bcm_notifier() relied on
dev_get_by_index(ifindex) to re-find the device for an rx_op before
unregistering its filter. If a concurrent NETDEV_UNREGISTER has already
unlisted the device from the ifindex table, that lookup fails and
can_rx_unregister() is silently skipped, leaving a stale CAN filter
pointing at the soon-to-be-freed bcm_op/socket.

Hold a netdev_hold()/netdev_put() tracked reference on op->rx_reg_dev
from the moment the rx filter is registered in bcm_rx_setup() until it
is unregistered in bcm_rx_unreg(), and use that reference directly in
bcm_release() and bcm_delete_rx_op() instead of re-looking the device
up by ifindex.

## Affected

- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < bd5232663524e94cc5aad861dca11e3db8e2ab6f`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < ee8b36d0faca08f35b889b6e9aa850695e5b8ba9`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < dcaee869913c7210cd47ed0a8f27349d7bdcdb7b`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < 84aa4807816e405c1bf87114fc63e06d244281ef`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < 633bda66fbf309f5de5e1ad6defe8e6b1d77a20f`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < b024c21c9066f6957b7d4a8f2037e4b000c5e041`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < 04d23061bbf18d5d81022eb21e9d32e99d24468d`
- `Linux >= ffd980f976e7fd666c2e61bf8ab35107efd11828 < d59948293ea34b6337ce2b5febab8510de70048c`
- `Linux 2.6.25`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
