Skip to main content
Public proof of conceptFix available

CVE-2017-1000112

A public proof of concept exists; no exploitation attested.

  • Published2017-10-05
  • Fixed in4.12.7 · 4.9.43 · 4.4.82 · 3.18.65 · 3.16.47 · 3.10.108
  • WeaknessCWE-362

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

Linux kernel: Exploitable memory corruption due to UFO to non-UFO path switch. When building a UFO packet with MSG_MORE __ip_append_data() calls ip_ufo_append_data() to append. However in between two send() calls, the append path can be switched from UFO to non-UFO one, which leads to a memory corruption. In case UFO packet lengths exceeds MTU, copy = maxfraglen - skb->len becomes negative on the non-UFO path and the branch to allocate new skb is taken. This triggers fragmentation and computation of fraggap = skb_prev->len - maxfraglen. Fraggap can exceed MTU, causing copy = datalen - transhdrlen - fraggap to become negative. Subsequently skb_copy_and_csum_bits() writes out-of-bounds. A similar issue is present in IPv6 code. The bug was introduced in e89e9cf539a2 ("[IPv4/IPv6]: UFO Scatter-gather approach") on Oct 18 2005.

Timeline

dates in UTC
  1. 2017-10-0501:29CVE publishedNVD
  2. 2026-10-2319:23First public proof of conceptPoC-in-GitHub
  3. 2026-10-2319:23EPSS crossed 10 %FIRST EPSS

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2017-1000112?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2017-1000112?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD
Linux linux kernel
BranchAffectedFixed in
4.x≥ 4.10, < 4.12.74.12.7
4.x≥ 4.5, < 4.9.434.9.43
4.4≥ 3.19, < 4.4.824.4.82
3.x≥ 3.17, < 3.18.653.18.65
3.x≥ 3.11, < 3.16.473.16.47
3.10≥ 2.6.15, < 3.10.1083.10.108

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update Linux linux kernel to 4.12.7 · 4.9.43 · 4.4.82 · 3.18.65 · 3.16.47 · 3.10.108

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB

Sources

  • NVDCVSS 3.17read 2026-10-23
  • NVDCVSS 2.06.9read 2026-10-23
  • NVDweakness (CWE)CWE-362read 2026-10-23
  • FIRST EPSSEPSS score20.8 %read 2026-10-23
  • PoC-in-GitHubproof of concept5read 2026-10-23

Technical details

CVSS v3 Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Published
2017-10-05
Last Modified
2026-06-17
NVD status
Modified

Frequently asked questions

What is CVE-2017-1000112?

Linux kernel: Exploitable memory corruption due to UFO to non-UFO path switch. When building a UFO packet with MSG_MORE __ip_append_data() calls ip_ufo_append_data() to append. However in between two send() calls, the append path can be switched from UFO to non-UFO one, which leads to a memory corruption. In case UFO packet lengths exceeds MTU, copy = maxfraglen - skb->len becomes negative on the non-UFO path and the branch to allocate new skb is taken. This triggers fragmentation and computation of fraggap = skb_prev->len - maxfraglen. Fraggap can exceed MTU, causing copy = datalen - transhdrlen - fraggap to become negative. Subsequently skb_copy_and_csum_bits() writes out-of-bounds. A similar issue is present in IPv6 code. The bug was introduced in e89e9cf539a2 ("[IPv4/IPv6]: UFO Scatter-gather approach") on Oct 18 2005.

Is CVE-2017-1000112 actively exploited?

Active exploitation of CVE-2017-1000112 has not been confirmed. Its EPSS score was 20.8% on 2026-10-23, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2017-1000112?

CVE-2017-1000112 has a CVSS v3 base score of 7 (HIGH severity), with vector string CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H.

Hear about the next vulnerability in your software

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month