net_sched: sch_sfq: fix a potential crash on gso_skb handling
In the Linux kernel, the following vulnerability has been resolved: net_sched: sch_sfq: fix a potential crash on gso_skb handling SFQ has an assumption of always being able to queue at least one packet. However, after the blamed commit, sch->q.len can be inflated by packets in sch->gso_skb, and an enqueue() on an empty SFQ qdisc can be followed by an immediate drop. Fix sfq_drop() to properly clear q->tail in this situation. ip netns add lb ip link add dev to-lb type veth peer name in-lb netns lb ethtool -K to-lb tso off # force qdisc to requeue gso_skb ip netns exec lb ethtool -K in-lb gro on # enable NAPI ip link set dev to-lb up ip -netns lb link set dev in-lb up ip addr add dev to-lb 192.168.20.1/24 ip -netns lb addr add dev in-lb 192.168.20.2/24 tc qdisc replace dev to-lb root sfq limit 100 ip netns exec lb netserver netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 &
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.239, 5.15.186, 5.4.295, 6.1.142, 6.12.34, 6.15.3, 6.6.94
- CVEs
- CVE-2025-38115
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 10:40 UTC · Revision 1
Source evidence
net_sched: sch_sfq: fix a potential crash on gso_skb handling
core-osv · Original sourcePublished 3 Jul 2025, 08:35 UTC
In the Linux kernel, the following vulnerability has been resolved: net_sched: sch_sfq: fix a potential crash on gso_skb handling SFQ has an assumption of always being able to queue at least one packet. However, after the blamed commit, sch->q.len can be inflated by packets in sch->gso_skb, and an enqueue() on an empty SFQ qdisc can be followed by an immediate drop. Fix sfq_drop() to properly clear q->tail in this situation. ip netns add lb ip link add dev to-lb type veth peer name in-lb netns lb ethtool -K to-lb tso off # force qdisc to requeue gso_skb ip netns exec lb ethtool -K in-lb gro on # enable NAPI ip link set dev to-lb up ip -netns lb link set dev in-lb up ip addr add dev to-lb 192.168.20.1/24 ip -netns lb addr add dev in-lb 192.168.20.2/24 tc qdisc replace dev to-lb root sfq limit 100 ip netns exec lb netserver netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 &
osv:CVE-2025-38115
Kernel
Fixed versions: 5.4.295, 5.10.239, 5.15.186, 6.1.142, 6.6.94, 6.12.34, 6.15.3
Complete source record
{
"id": "39b1119e8eb4e26111f49e24bb0befe419ea695fda5861ed387187a4ed6153d8",
"url": "https://osv.dev/vulnerability/CVE-2025-38115",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net_sched: sch_sfq: fix a potential crash on gso_skb handling",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net_sched: sch_sfq: fix a potential crash on gso_skb handling SFQ has an assumption of always being able to queue at least one packet. However, after the blamed commit, sch->q.len can be inflated by packets in sch->gso_skb, and an enqueue() on an empty SFQ qdisc can be followed by an immediate drop. Fix sfq_drop() to properly clear q->tail in this situation. ip netns add lb ip link add dev to-lb type veth peer name in-lb netns lb ethtool -K to-lb tso off # force qdisc to requeue gso_skb ip netns exec lb ethtool -K in-lb gro on # enable NAPI ip link set dev to-lb up ip -netns lb link set dev in-lb up ip addr add dev to-lb 192.168.20.1/24 ip -netns lb addr add dev in-lb 192.168.20.2/24 tc qdisc replace dev to-lb root sfq limit 100 ip netns exec lb netserver netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 & netperf -H 192.168.20.2 -l 100 &",
"evidence": "osv:CVE-2025-38115",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.4.295",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.239",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.186",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.142",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.94",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.34",
"evidence": "/affected/1/ranges"
},
{
"value": "6.15.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2025-38115",
"aliases": [
"CVE-2025-38115"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "a53851e2c3218aa30b77abd6e68cf1c371f15afe"
},
{
"fixed": "c337efb20d6d9f9bbb4746f6b119917af5c886dc"
},
{
"fixed": "b44f791f27b14c9eb6b907fbe51f2ba8bec32085"
},
{
"fixed": "5814a7fc3abb41f63f2d44c9d3ff9d4e62965b72"
},
{
"fixed": "9c19498bdd7cb9d854bd3c54260f71cf7408495e"
},
{
"fixed": "b4e9bab6011b9559b7c157b16b91ae46d4d8c533"
},
{
"fixed": "d1bc80da75c789f2f6830df89d91fb2f7a509943"
},
{
"fixed": "82448d4dcd8406dec688632a405fdcf7f170ec69"
},
{
"fixed": "82ffbe7776d0ac084031f114167712269bf3d832"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38115.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.16.0"
},
{
"fixed": "5.4.295"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.239"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.186"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.142"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.94"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.15.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38115.json"
}
}
],
"modified": "2026-10-28T02:30:44.004948013Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/5814a7fc3abb41f63f2d44c9d3ff9d4e62965b72",
"https://git.kernel.org/stable/c/82448d4dcd8406dec688632a405fdcf7f170ec69",
"https://git.kernel.org/stable/c/82ffbe7776d0ac084031f114167712269bf3d832",
"https://git.kernel.org/stable/c/9c19498bdd7cb9d854bd3c54260f71cf7408495e",
"https://git.kernel.org/stable/c/b44f791f27b14c9eb6b907fbe51f2ba8bec32085",
"https://git.kernel.org/stable/c/b4e9bab6011b9559b7c157b16b91ae46d4d8c533",
"https://git.kernel.org/stable/c/c337efb20d6d9f9bbb4746f6b119917af5c886dc",
"https://git.kernel.org/stable/c/d1bc80da75c789f2f6830df89d91fb2f7a509943",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38115.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-38115",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38115.json"
}
},
"related_cves": [
{
"value": "CVE-2025-38115",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 511655,
"published_at": "2025-07-03T08:35:23.75+00:00"
}