{"api_version":"1","generated_at":"2026-07-23T09:49:46+00:00","cve":"CVE-2017-1000112","urls":{"html":"https://cve.report/CVE-2017-1000112","api":"https://cve.report/api/cve/CVE-2017-1000112.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2017-1000112","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2017-1000112"},"summary":{"title":"CVE-2017-1000112","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.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2017-10-05 01:29:00","updated_at":"2023-06-07 12:46:00"},"problem_types":["CWE-362"],"metrics":[],"references":[{"url":"https://www.exploit-db.com/exploits/45147/","name":"45147","refsource":"EXPLOIT-DB","tags":[],"title":"Linux Kernel - UDP Fragmentation Offset 'UFO' Privilege Escalation (Metasploit) - Linux local Exploit","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2017:2931","name":"RHSA-2017:2931","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.securitytracker.com/id/1039162","name":"1039162","refsource":"SECTRACK","tags":["Third Party Advisory","VDB Entry"],"title":"Linux Kernel UDP Fragmentation Offload Race Condition Lets Local Users Gain Elevated Privileges - SecurityTracker","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.securityfocus.com/bid/100262","name":"100262","refsource":"BID","tags":["Third Party Advisory","VDB Entry"],"title":"Malformed Request","mime":"text/html","httpstatus":"200","archivestatus":"0"},{"url":"https://access.redhat.com/errata/RHSA-2017:2930","name":"RHSA-2017:2930","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2017:3200","name":"RHSA-2017:3200","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112","name":"https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112","refsource":"MISC","tags":[],"title":"kernel-exploits/CVE-2017-1000112 at master · xairy/kernel-exploits · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2019:4159","name":"RHSA-2019:4159","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2019:1932","name":"RHSA-2019:1932","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2019:1931","name":"RHSA-2019:1931","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.debian.org/security/2017/dsa-3981","name":"DSA-3981","refsource":"DEBIAN","tags":[],"title":"Debian -- Security Information -- DSA-3981-1 linux","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://access.redhat.com/errata/RHSA-2017:2918","name":"RHSA-2017:2918","refsource":"REDHAT","tags":[],"title":"Red Hat Customer Portal","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://seclists.org/oss-sec/2017/q3/277","name":"[oss-security] 20170810 Linux kernel: CVE-2017-1000112: Exploitable memory corruption due to UFO to non-UFO path switch","refsource":"MLIST","tags":["Mailing List","Patch","Third Party Advisory"],"title":"oss-sec: Linux kernel: CVE-2017-1000112: Exploitable memory corruption due to UFO to non-UFO path switch","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2017-1000112","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-1000112","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2017","cve_id":"1000112","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"o","cpe4":"linux","cpe5":"linux_kernel","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2017","cve_id":"1000112","vulnerable":"1","versionEndIncluding":"4.13.9","cpe1":"cpe","cpe2":"2.3","cpe3":"o","cpe4":"linux","cpe5":"linux_kernel","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","DATE_ASSIGNED":"2017-08-22T17:29:33.325175","ID":"CVE-2017-1000112","REQUESTER":"willemdebruijn.kernel@gmail.com","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"[oss-security] 20170810 Linux kernel: CVE-2017-1000112: Exploitable memory corruption due to UFO to non-UFO path switch","refsource":"MLIST","url":"http://seclists.org/oss-sec/2017/q3/277"},{"name":"RHSA-2017:3200","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2017:3200"},{"name":"100262","refsource":"BID","url":"http://www.securityfocus.com/bid/100262"},{"name":"RHSA-2017:2918","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2017:2918"},{"name":"RHSA-2017:2931","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2017:2931"},{"name":"DSA-3981","refsource":"DEBIAN","url":"http://www.debian.org/security/2017/dsa-3981"},{"name":"https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112","refsource":"MISC","url":"https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112"},{"name":"1039162","refsource":"SECTRACK","url":"http://www.securitytracker.com/id/1039162"},{"name":"45147","refsource":"EXPLOIT-DB","url":"https://www.exploit-db.com/exploits/45147/"},{"name":"RHSA-2017:2930","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2017:2930"},{"refsource":"REDHAT","name":"RHSA-2019:1932","url":"https://access.redhat.com/errata/RHSA-2019:1932"},{"refsource":"REDHAT","name":"RHSA-2019:1931","url":"https://access.redhat.com/errata/RHSA-2019:1931"},{"refsource":"REDHAT","name":"RHSA-2019:4159","url":"https://access.redhat.com/errata/RHSA-2019:4159"}]}},"nvd":{"publishedDate":"2017-10-05 01:29:00","lastModifiedDate":"2023-06-07 12:46:00","problem_types":["CWE-362"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","attackVector":"LOCAL","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":7,"baseSeverity":"HIGH"},"exploitabilityScore":1,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:M/Au:N/C:C/I:C/A:C","accessVector":"LOCAL","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"COMPLETE","integrityImpact":"COMPLETE","availabilityImpact":"COMPLETE","baseScore":6.9},"severity":"MEDIUM","exploitabilityScore":3.4,"impactScore":10,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"4.12.7","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"3.16.47","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"3.18.65","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"4.9.43","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.15","versionEndExcluding":"3.10.108","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.19","versionEndExcluding":"4.4.82","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2017","CveId":"1000112","Ordinal":"112504","Title":"CVE-2017-1000112","CVE":"CVE-2017-1000112","Year":"2017"},"notes":[{"CveYear":"2017","CveId":"1000112","Ordinal":"1","NoteData":"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.","Type":"Description","Title":null},{"CveYear":"2017","CveId":"1000112","Ordinal":"2","NoteData":"2017-10-03","Type":"Other","Title":"Published"},{"CveYear":"2017","CveId":"1000112","Ordinal":"3","NoteData":"2019-12-10","Type":"Other","Title":"Modified"}]}}}