In the Linux kernel, the following vulnerability has been resolved:
net_sched: prio: fix a race in prio_tune()
Gerrard Tai reported a race condition in PRIO, whenever SFQ perturb timer
fires at the wrong time.
The race is as follows:
CPU 0                                 CPU 1
[1]: lock root
[2]: qdisc_tree_flush_backlog()
[3]: unlock root
 |
 |                                    [5]: lock root
 |                                    [6]: rehash
 |                                    [7]: qdisc_tree_reduce_backlog()
 |
[4]: qdisc_put()
This can be abused to underflow a parent's qlen.
Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog()
should fix the race, because all packets will be purged from the qdisc
before releasing the lock.
                
            Metrics
Affected Vendors & Products
References
        History
                    Mon, 03 Nov 2025 18:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Fri, 27 Jun 2025 14:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Weaknesses | CWE-366 | |
| Metrics | 
        
        
        cvssV3_1
         
  | 
    
        
        
        cvssV3_1
         
  | 
Fri, 27 Jun 2025 10:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Sat, 21 Jun 2025 12:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | |
| Metrics | 
        
        
        threat_severity
         
  | 
    
        
        cvssV3_1
         
 
  | 
Fri, 20 Jun 2025 11:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Description | In the Linux kernel, the following vulnerability has been resolved: net_sched: prio: fix a race in prio_tune() Gerrard Tai reported a race condition in PRIO, whenever SFQ perturb timer fires at the wrong time. The race is as follows: CPU 0 CPU 1 [1]: lock root [2]: qdisc_tree_flush_backlog() [3]: unlock root | | [5]: lock root | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() This can be abused to underflow a parent's qlen. Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog() should fix the race, because all packets will be purged from the qdisc before releasing the lock. | |
| Title | net_sched: prio: fix a race in prio_tune() | |
| References | 
         | 
Status: PUBLISHED
Assigner: Linux
Published: 2025-06-20T11:21:51.554Z
Updated: 2025-11-03T17:33:50.557Z
Reserved: 2025-04-16T04:51:23.981Z
Link: CVE-2025-38083
No data.
Status : Awaiting Analysis
Published: 2025-06-20T12:15:21.470
Modified: 2025-11-03T18:16:01.647
Link: CVE-2025-38083