---
id: CVE-2025-39826
title: 'net: rose: convert ''use'' field to refcount_t'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: rose: convert 'use' field to refcount_t

  The 'use' field in struct rose_neigh is used as a reference counter but
  lacks atomicity. This can lead to race conditions …
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    fb07156cc0742ba4e93dfcc84280c011d05b301f
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    f8c29fc437d03a98fb075c31c5be761cc8326284
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    0085b250fcc79f900c82a69980ec2f3e1871823b
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    203e4f42596ede31498744018716a3db6dbb7f51
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    d860d1faa6b2ce3becfdb8b0c2b048ad31800061
  - Linux 2.6.12
published: '2025-09-16'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:42:21.594Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-39826'
references:
  - url: 'https://git.kernel.org/stable/c/fb07156cc0742ba4e93dfcc84280c011d05b301f'
  - url: 'https://git.kernel.org/stable/c/f8c29fc437d03a98fb075c31c5be761cc8326284'
  - url: 'https://git.kernel.org/stable/c/0085b250fcc79f900c82a69980ec2f3e1871823b'
  - url: 'https://git.kernel.org/stable/c/203e4f42596ede31498744018716a3db6dbb7f51'
  - url: 'https://git.kernel.org/stable/c/d860d1faa6b2ce3becfdb8b0c2b048ad31800061'
tags:
  - cve.org
epss: 0.00201
epssPercentile: 0.08822
ingestedAt: '2026-09-08T15:33:26.997Z'
---

## Overview

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

net: rose: convert 'use' field to refcount_t

The 'use' field in struct rose_neigh is used as a reference counter but
lacks atomicity. This can lead to race conditions where a rose_neigh
structure is freed while still being referenced by other code paths.

For example, when rose_neigh->use becomes zero during an ioctl operation
via rose_rt_ioctl(), the structure may be removed while its timer is
still active, potentially causing use-after-free issues.

This patch changes the type of 'use' from unsigned short to refcount_t and
updates all code paths to use rose_neigh_hold() and rose_neigh_put() which
operate reference counts atomically.

## Affected

- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fb07156cc0742ba4e93dfcc84280c011d05b301f`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f8c29fc437d03a98fb075c31c5be761cc8326284`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 0085b250fcc79f900c82a69980ec2f3e1871823b`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 203e4f42596ede31498744018716a3db6dbb7f51`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < d860d1faa6b2ce3becfdb8b0c2b048ad31800061`
- `Linux 2.6.12`

## Remediation

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