pppoatm: ensure a writable skb header and linear data
In the Linux kernel, the following vulnerability has been resolved: pppoatm: ensure a writable skb header and linear data In pppoatm_send(), LLC encapsulation checks whether there is sufficient headroom for the 4-byte LLC header, but does not ensure that the skb header is writable. Normal transmit packets passing through ppp_start_xmit() have their header unshared via skb_cow_head(). However, packets can also reach pppoatm_send() via PPP channel bridging (PPPIOCBRIDGECHAN) without going through ppp_start_xmit(). Use skb_cow_head() to ensure both sufficient headroom and a writable header before pushing the LLC header. While at it: - Call pskb_may_pull(skb, 1) before inspecting skb->data[0] to prevent out-of-bounds reads on zero-length or non-linear frames (e.g. from bridging). - Defer SC_COMP_PROT protocol compression until after pppoatm_may_send() succeeds. This eliminates the temporary skb allocation on admission failure and completely removes the fragile "undo" heuristic at the nospace label, avoiding any risk of reading uninitialized headroom or performing an unbalanced skb_push().
CVE-2026-98287
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-98287
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "208ccc4d08b1897451e9ba01c016bf93ff107966",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "e6cd1bba7d113c15c00ac63671213a096fe4d686",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "ffc448eb54f5ba80d4212c1e870cdb92b0f709fa",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "8e66c5969acd859ba72fb0a7fa895623fc1b3769",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "e2f5529b0016db7d34f411408607f5cf395a542e",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "30992fe39e65589ed8e000425e088fa74994b811",
"versionType": "git"
},
{
"status": "affected",
"version": "4cf476ced45d7f12df30a68e833b263e7a2202d1",
"lessThan": "ecc7253683a3c55caa868ce0ee530fcb0044bd3c",
"versionType": "git"
}
],
"programFiles": [
"net/atm/pppoatm.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.11"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.11",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.54",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.8",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/atm/pppoatm.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-98287
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #38365 · Revision 1
- Added to Heist Feed
- Publisher date