Vulnerability · Published Sep 5, 2025 · Assigned by Linux

CVE-2025-39677net/sched: Fix backlog accounting in qdisc_dequeue_internal

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.2%top 88.2% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: net/sched: Fix backlog accounting in qdisc_dequeue_internal This issue applies for the following qdiscs: hhf, fq, fq_codel, and fq_pie, and occurs in their change handlers when adjusting to the new limit. The problem is the following in the values passed to the subsequent qdisc_tree_reduce_backlog call given a tbf parent: When the tbf parent runs out of tokens, skbs of these qdiscs will be placed in gso_skb. Their peek handlers are qdisc_peek_dequeued, which accounts for both qlen and backlog. However, in the case of qdisc_dequeue_internal, ONLY qlen is accounted for when pulling from gso_skb. This means that these qdiscs are missing a qdisc_qstats_backlog_dec when dropping packets to satisfy the new limit in their change handlers. One can observe this issue with the following (with tc patched to support a limit of 0): export TARGET=fq tc qdisc del dev lo root tc qdisc add dev lo root handle 1: tbf rate 8bit burst 100b latency 1ms tc qdisc replace dev lo handle 3: parent 1:1 $TARGET limit 1000 echo ''; echo 'add child'; tc -s -d qdisc show dev lo ping -I lo -f -c2 -s32 -W0.001 127.0.0.1 2>&1 >/dev/null echo ''; echo 'after ping'; tc -s -d qdisc show dev lo tc qdisc change dev lo handle 3: parent 1:1 $TARGET limit 0 echo ''; echo 'after limit drop'; tc -s -d qdisc show dev lo tc qdisc replace dev lo handle 2: parent 1:1 sfq echo ''; echo 'post graft'; tc -s -d qdisc show dev lo The second to last show command shows 0 packets but a positive number (74) of backlog bytes. The problem becomes clearer in the last show command, where qdisc_purge_queue triggers qdisc_tree_reduce_backlog with the positive backlog and causes an underflow in the tbf parent's backlog (4096 Mb instead of 0). To fix this issue, the codepath for all clients of qdisc_dequeue_internal has been simplified: codel, pie, hhf, fq, fq_pie, and fq_codel. qdisc_dequeue_internal handles the backlog adjustments for all cases that do not directly use the dequeue handler. The old fq_codel_change limit adjustment loop accumulated the arguments to the subsequent qdisc_tree_reduce_backlog call through the cstats field. However, this is confusing and error prone as fq_codel_dequeue could also potentially mutate this field (which qdisc_dequeue_internal calls in the non gso_skb case), so we have unified the code here with other qdiscs.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linuxno fix listedDEBIAN-CVE-2025-39677
Debian:13linux6.12.115-2DEBIAN-CVE-2025-39677
Debian:14linux6.16.5-1DEBIAN-CVE-2025-39677
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1035.38USN-8781-1
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1035.38UBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2025-39677
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2025-39677
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2025-39677

Affected products (as reported)

VendorProductVersions
Linux Linux 4b549a2ef4bef9965d97cbd992ba67930cd3e0fe – before 65d1b5d84a0d697e9cfcdd0e07aad1bf1cb962954b549a2ef4bef9965d97cbd992ba67930cd3e0fe – before dcfed7251e23cd71d32c4ecc444ff97992087e464b549a2ef4bef9965d97cbd992ba67930cd3e0fe – before 38cdf8d1f5f3ee133f6e48dd422df4057fa9bfcb4b549a2ef4bef9965d97cbd992ba67930cd3e0fe – before a225f44d84b8900d679c5f5a9ea46fe9c0cc78024b549a2ef4bef9965d97cbd992ba67930cd3e0fe – before 52bf272636bda69587952b35ae97690b8dc89941
Linux Linux 3.5

References