---
id: CVE-2026-98586
title: 'sctp: hold asoc or transport before mod_timer() in timer handlers'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  sctp: hold asoc or transport before mod_timer() in timer handlers

  Take the association or transport reference before rearming a timer in the
  timer handlers.

  The exist…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    f7dea7eaea20fe9b80f8f77ba44d02b4a17f8050
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    f9d929026d487a988bfa12c065f892e823e5b6ab
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    9d3d39da054476e7aa05cd877b93ca73a9a77434
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    27c51a9b55b227309161c903f9ecfbf022516bc2
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    d18cb8fd1b6ba95c85de644203cfe1b071ff0c0f
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    35bf3b23c9a871f44c1453d85f8332be4e088dda
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    cae23ae3f7887a1cf8a75da38edcebeef695040f
  - Linux 2.6.12
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:18:59.046Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98586'
references:
  - url: 'https://git.kernel.org/stable/c/f7dea7eaea20fe9b80f8f77ba44d02b4a17f8050'
  - url: 'https://git.kernel.org/stable/c/f9d929026d487a988bfa12c065f892e823e5b6ab'
  - url: 'https://git.kernel.org/stable/c/9d3d39da054476e7aa05cd877b93ca73a9a77434'
  - url: 'https://git.kernel.org/stable/c/27c51a9b55b227309161c903f9ecfbf022516bc2'
  - url: 'https://git.kernel.org/stable/c/d18cb8fd1b6ba95c85de644203cfe1b071ff0c0f'
  - url: 'https://git.kernel.org/stable/c/35bf3b23c9a871f44c1453d85f8332be4e088dda'
  - url: 'https://git.kernel.org/stable/c/cae23ae3f7887a1cf8a75da38edcebeef695040f'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.252Z'
---

## Overview

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

sctp: hold asoc or transport before mod_timer() in timer handlers

Take the association or transport reference before rearming a timer in the
timer handlers.

The existing code calls mod_timer() before taking the reference needed by
the rearmed timer without holding the sock lock. This creates a race with
timer cleanup: if the timer is deleted after mod_timer() returns but before
the reference is taken, the cleanup path can drop the timer's reference and
destroy the transport or association. The timer handler then takes a
reference on the already freed object and eventually drops it, causing a
refcount underflow.

Hold the object before mod_timer() and drop the reference if mod_timer()
reports that the timer was already pending in timer handlers. Apply the
same ordering to the proto-unreachable path, which can rearm a transport
timer outside the timer handlers without holding the sock lock.

## Affected

- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f7dea7eaea20fe9b80f8f77ba44d02b4a17f8050`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f9d929026d487a988bfa12c065f892e823e5b6ab`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9d3d39da054476e7aa05cd877b93ca73a9a77434`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 27c51a9b55b227309161c903f9ecfbf022516bc2`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < d18cb8fd1b6ba95c85de644203cfe1b071ff0c0f`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 35bf3b23c9a871f44c1453d85f8332be4e088dda`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cae23ae3f7887a1cf8a75da38edcebeef695040f`
- `Linux 2.6.12`

## Remediation

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