Read the docs
TI-2025-15657 Aliases CVE-2025-21702GHSA-c82f-pmfx-x3vv

pfifo_tail_enqueue: Drop new packet when sch->limit == 0

Priority LOW 34Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Partial Red Hat: 15 fixed, 3 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.

Summary

In the Linux kernel, the following vulnerability has been resolved: pfifo_tail_enqueue: Drop new packet when sch->limit == 0 Expected behaviour: In case we reach scheduler's limit, pfifo_tail_enqueue() will drop a packet in scheduler's queue and decrease scheduler's qlen by one. Then, pfifo_tail_enqueue() enqueue new packet and increase scheduler's qlen by one. Finally, pfifo_tail_enqueue() return `NET_XMIT_CN` status code. Weird behaviour: In case we set `sch->limit == 0` and trigger pfifo_tail_enqueue() on a scheduler that has no packet, the 'drop a packet' step will do nothing. This means the scheduler's qlen still has value equal 0. Then, we continue to enqueue new packet and increase scheduler's qlen by one. In summary, we can leverage pfifo_tail_enqueue() to increase qlen by one and return `NET_XMIT_CN` status code. The problem is: Let's say we have two qdiscs: Qdisc_A and Qdisc_B. - Qdisc_A's type must have '->graft()' function to create parent/child relationship. Let's say Qdisc_A's type is `hfsc`. Enqueue packet to this qdisc will trigger `hfsc_enqueue`. - Qdisc_B's type is pfifo_head_drop. Enqueue packet to this qdisc will trigger `pfifo_tail_enqueue`. - Qdisc_B is configured to have `sch->limit == 0`. - Qdisc_A is configured to route the enqueued's packet to Qdisc_B. Enqueue packet through Qdisc_A will lead to: - hfsc_enqueue(Qdisc_A) -> pfifo_tail_enqueue(Qdisc_B) - Qdisc_B->q.qlen += 1 - pfifo_tail_enqueue() return `NET_XMIT_CN` - hfsc_enqueue() check for `NET_XMIT_SUCCESS` and see `NET_XMIT_CN` => hfsc_enqueue() don't increase qlen of Qdisc_A. The whole process lead to a situation where Qdisc_A->q.qlen == 0 and Qdisc_B->q.qlen == 1. Replace 'hfsc' with other type (for example: 'drr') still lead to the same problem. This violate the design where parent's qlen should equal to the sum of its childrens'qlen. Bug impact: This issue can be used for user->kernel privilege escalation when it is reachable.

Why it matters now

EPSS 0.00283 20th percentileScored 2026-11-07
Fix Partial Linux (Linux): 5.4.291, 5.10.235, 5.15.179 +5Red Hat: 3 advisoriesRed Hat: 15 fixed, 3 without a fix

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.34 and later5.4.291, 5.10.235, 5.15.179, 6.1.130, 6.6.83, 6.12.14, 6.13.3, 6.14Patch availableCNA
  • Linux VendorLinux Affected 2.6.34 and later Fixed in 5.4.291, 5.10.235, 5.15.179, 6.1.130, 6.6.83, 6.12.14, 6.13.3, 6.14 Patch available CNA

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*2.6.34 to before 5.4.291; 5.5 to before 5.10.235; 5.11 to before 5.15.179; 5.16 to before 6.1.130; 6.2 to before 6.6.83; 6.7 to before 6.12.14; 6.13 to before 6.13.3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*6.14 rc1VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 2.6.34 to before 5.4.291; 5.5 to before 5.10.235; 5.11 to before 5.15.179; 5.16 to before 6.1.130; 6.2 to before 6.6.83; 6.7 to before 6.12.14; 6.13 to before 6.13.3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* Versions 6.14 rc1 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 5.4.291, 5.10.235, 5.15.179, 6.1.130, 6.6.83, 6.12.14, 6.13.3, 6.14

Red Hat 3 advisories

  • RHSA-2026:94438 Released 2026-11-03 · Red Hat rating Critical
    kernel security, bug fix, and enhancement update
    • Red Hat CodeReady Linux Builder EUS (v.9.6) kernel-tools-libs-devel-5.14.0-570.154.1.el9_6, libperf-5.14.0-570.154.1.el9_6
    • Red Hat Enterprise Linux AppStream EUS (v.9.6) kernel-64k-debug-devel-5.14.0-570.154.1.el9_6, kernel-64k-debug-devel-matched-5.14.0-570.154.1.el9_6, kernel-64k-devel-5.14.0-570.154.1.el9_6 +12
    • Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel-5.14.0-570.154.1.el9_6, kernel-64k-5.14.0-570.154.1.el9_6, kernel-64k-core-5.14.0-570.154.1.el9_6 +28
    • Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt-5.14.0-570.154.1.el9_6, kernel-rt-64k-5.14.0-570.154.1.el9_6, kernel-rt-64k-core-5.14.0-570.154.1.el9_6 +21
    • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt-5.14.0-570.154.1.el9_6, kernel-rt-core-5.14.0-570.154.1.el9_6, kernel-rt-debug-5.14.0-570.154.1.el9_6 +11
  • RHSA-2025:20518 Released 2025-11-11 · Red Hat rating Moderate
    kernel security update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-611.5.1.el9_7, kernel-64k-debug-devel-matched-5.14.0-611.5.1.el9_7, kernel-64k-devel-5.14.0-611.5.1.el9_7 +12
    • Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-611.5.1.el9_7, kernel-64k-5.14.0-611.5.1.el9_7, kernel-64k-core-5.14.0-611.5.1.el9_7 +28
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-611.5.1.el9_7, libperf-5.14.0-611.5.1.el9_7
    • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-611.5.1.el9_7, kernel-rt-64k-5.14.0-611.5.1.el9_7, kernel-rt-64k-core-5.14.0-611.5.1.el9_7 +21
    • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-611.5.1.el9_7, kernel-rt-core-5.14.0-611.5.1.el9_7, kernel-rt-debug-5.14.0-611.5.1.el9_7 +9
  • RHSA-2025:20095 Released 2025-11-11 · Red Hat rating Moderate
    kernel security update
    • Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-124.8.1.el10_1, kernel-64k-debug-devel-matched-6.12.0-124.8.1.el10_1, kernel-64k-devel-6.12.0-124.8.1.el10_1 +12
    • Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-124.8.1.el10_1, kernel-64k-6.12.0-124.8.1.el10_1, kernel-64k-core-6.12.0-124.8.1.el10_1 +29
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-124.8.1.el10_1, libperf-6.12.0-124.8.1.el10_1
    • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-124.8.1.el10_1, kernel-rt-64k-6.12.0-124.8.1.el10_1, kernel-rt-64k-core-6.12.0-124.8.1.el10_1 +21
    • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-124.8.1.el10_1, kernel-rt-core-6.12.0-124.8.1.el10_1, kernel-rt-debug-6.12.0-124.8.1.el10_1 +9

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 7AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 8AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat CodeReady Linux Builder EUS (v.9.6)Fixed RHSA-2026:94438
Red Hat Enterprise Linux AppStream (v. 10)Fixed RHSA-2025:20095
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2025:20518
Red Hat Enterprise Linux AppStream EUS (v.9.6)Fixed RHSA-2026:94438
Red Hat Enterprise Linux BaseOS (v. 10)Fixed RHSA-2025:20095
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2025:20518
Red Hat Enterprise Linux BaseOS EUS (v.9.6)Fixed RHSA-2026:94438
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10)Fixed RHSA-2025:20095
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9)Fixed RHSA-2025:20518
Red Hat Enterprise Linux Real Time (v. 10)Fixed RHSA-2025:20095
Red Hat Enterprise Linux Real Time (v. 9)Fixed RHSA-2025:20518
Red Hat Enterprise Linux Real Time EUS (v.9.6)Fixed RHSA-2026:94438
Red Hat Enterprise Linux Real Time for NFV (v. 10)Fixed RHSA-2025:20095
Red Hat Enterprise Linux Real Time for NFV (v. 9)Fixed RHSA-2025:20518
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6)Fixed RHSA-2026:94438
Not affected: 1 product
  • Red Hat Enterprise Linux 6

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-21702
  2. 2026-10-03 Alias added: GHSA-c82f-pmfx-x3vv
  3. 2026-11-03 Fix available: RHSA-2026:94438 · Red Hat
  4. 2026-11-03 Fix available: Red Hat CodeReady Linux Builder EUS (v.9.6), Red Hat Enterprise Linux AppStream EUS (v.9.6), Red Hat Enterprise Linux BaseOS EUS (v.9.6) +2 · Red Hat

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources