CVE-2017-1000112
Linux kernel: Existe una corrupción de memoria explotable debida al cambio de ruta de UFO a no UFO. Al crear un paquete UFO con MSG_MORE, __ip_append_data() llama a ip_ufo_append_data() para que se anexe. Sin embargo, entre dos llamadas send(), la ruta anexa puede cambiarse de UFO a no UFO, lo que lleva a una corrupción de memoria. Si la longitud del paquete UFO sobrepasa el MTU, copy = maxfraglen - skb->len se convierte en negativo en la ruta no UFO y se toma una rama para asignar un nuevo skb.
Leer descripción completaMostrar menos
Esto desencadena la fragmentación y el cálculo de fraggap = skb_prev->len - maxfraglen. fraggap puede exceder el MTU, lo que provoca que copy = datalen - transhdrlen - fraggap se vuelva negativo. En consecuencia, skb_copy_and_csum_bits() escribe fuera de límites. Existe un problema similar en el código IPv6. Este error fue introducido en e89e9cf539a2 ("[IPv4/IPv6]: UFO Scatter-gather approach") el 18 de octubre de 2005.
CVSS
- Puntuación base
- 7
- Versión
- 3.1
- Vector
- CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 21 %
- Percentil entre todas las CVEs puntuadas
- 98
- Fecha de la puntuación
- 20/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Exploits públicos
Hay código de explotación o plantillas de detección públicos. No es lo mismo que explotación activa confirmada (KEV), pero aumenta el riesgo: parchee con prioridad.
- Módulo de Metasploit (exploit fiable y al alcance de cualquiera) · Linux Kernel UDP Fragmentation Offset (UFO) Privilege Escalation
- Publicado en Exploit-DB · Linux Kernel < 4.4.0/ < 4.8.0 (Ubuntu 14.04/16.04 / Linux Mint 17/18 / Zorin) - Local Privilege Escalation (KASLR / SMEP) (29/12/2018)
- Publicado en Exploit-DB · Linux Kernel - UDP Fragmentation Offset 'UFO' Privilege Escalation (Metasploit) (3/8/2018)
- Publicado en Exploit-DB · Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) - Local Privilege Escalation (KASLR / SMEP) (13/8/2017)
- Prueba de concepto en GitHub (no verificada) · Lista de pruebas de concepto en GitHub
⚠️ Las pruebas de concepto de GitHub no están verificadas: algunas son falsas o contienen malware. No las ejecute nunca fuera de un laboratorio aislado.
Tecnologías afectadas (1)
CWE
- CWE-362
Referencias
Mostrar las 26 referencias
- http://seclists.org/oss-sec/2017/q3/277
- http://www.debian.org/security/2017/dsa-3981
- http://www.securityfocus.com/bid/100262
- http://www.securitytracker.com/id/1039162
- https://access.redhat.com/errata/RHSA-2017:2918
- https://access.redhat.com/errata/RHSA-2017:2930
- https://access.redhat.com/errata/RHSA-2017:2931
- https://access.redhat.com/errata/RHSA-2017:3200
- https://access.redhat.com/errata/RHSA-2019:1931
- https://access.redhat.com/errata/RHSA-2019:1932
- https://access.redhat.com/errata/RHSA-2019:4159
- https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112
- https://www.exploit-db.com/exploits/45147/
- http://seclists.org/oss-sec/2017/q3/277
- http://www.debian.org/security/2017/dsa-3981
- http://www.securityfocus.com/bid/100262
- http://www.securitytracker.com/id/1039162
- https://access.redhat.com/errata/RHSA-2017:2918
- https://access.redhat.com/errata/RHSA-2017:2930
- https://access.redhat.com/errata/RHSA-2017:2931
- https://access.redhat.com/errata/RHSA-2017:3200
- https://access.redhat.com/errata/RHSA-2019:1931
- https://access.redhat.com/errata/RHSA-2019:1932
- https://access.redhat.com/errata/RHSA-2019:4159
- https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112
- https://www.exploit-db.com/exploits/45147/
JSON original (NVD)
Mostrar
{
"id": "CVE-2017-1000112",
"cveTags": [],
"metrics": {
"cvssMetricV2": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"version": "2.0",
"baseScore": 6.9,
"accessVector": "LOCAL",
"vectorString": "AV:L/AC:M/Au:N/C:C/I:C/A:C",
"authentication": "NONE",
"integrityImpact": "COMPLETE",
"accessComplexity": "MEDIUM",
"availabilityImpact": "COMPLETE",
"confidentialityImpact": "COMPLETE"
},
"acInsufInfo": false,
"impactScore": 10,
"baseSeverity": "MEDIUM",
"obtainAllPrivilege": false,
"exploitabilityScore": 3.4,
"obtainUserPrivilege": false,
"obtainOtherPrivilege": false,
"userInteractionRequired": false
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 1
}
]
},
"affected": [
{
"source": "cve@mitre.org",
"affectedData": [
{
"vendor": "n/a",
"product": "n/a",
"versions": [
{
"status": "affected",
"version": "n/a"
}
]
}
]
}
],
"published": "2017-10-05T01:29:04.477",
"references": [
{
"url": "http://seclists.org/oss-sec/2017/q3/277",
"tags": [
"Mailing List",
"Patch",
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "http://www.debian.org/security/2017/dsa-3981",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "http://www.securityfocus.com/bid/100262",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "cve@mitre.org"
},
{
"url": "http://www.securitytracker.com/id/1039162",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2918",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2930",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2931",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:3200",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:1931",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:1932",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:4159",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112",
"tags": [
"Third Party Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://www.exploit-db.com/exploits/45147/",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "cve@mitre.org"
},
{
"url": "http://seclists.org/oss-sec/2017/q3/277",
"tags": [
"Mailing List",
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "http://www.debian.org/security/2017/dsa-3981",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "http://www.securityfocus.com/bid/100262",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "http://www.securitytracker.com/id/1039162",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2918",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2930",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:2931",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2017:3200",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:1931",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:1932",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://access.redhat.com/errata/RHSA-2019:4159",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-1000112",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://www.exploit-db.com/exploits/45147/",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-362"
}
]
}
],
"descriptions": [
{
"lang": "en",
"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."
},
{
"lang": "es",
"value": "Linux kernel: Existe una corrupción de memoria explotable debida al cambio de ruta de UFO a no UFO. Al crear un paquete UFO con MSG_MORE, __ip_append_data() llama a ip_ufo_append_data() para que se anexe. Sin embargo, entre dos llamadas send(), la ruta anexa puede cambiarse de UFO a no UFO, lo que lleva a una corrupción de memoria. Si la longitud del paquete UFO sobrepasa el MTU, copy = maxfraglen - skb->len se convierte en negativo en la ruta no UFO y se toma una rama para asignar un nuevo skb. Esto desencadena la fragmentación y el cálculo de fraggap = skb_prev->len - maxfraglen. fraggap puede exceder el MTU, lo que provoca que copy = datalen - transhdrlen - fraggap se vuelva negativo. En consecuencia, skb_copy_and_csum_bits() escribe fuera de límites. Existe un problema similar en el código IPv6. Este error fue introducido en e89e9cf539a2 (\"[IPv4/IPv6]: UFO Scatter-gather approach\") el 18 de octubre de 2005."
}
],
"lastModified": "2026-06-17T00:58:45.670",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C3FE348E-5745-49CF-B0F6-52AA3E4F3A42",
"versionEndExcluding": "3.10.108",
"versionStartIncluding": "2.6.15"
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1B863019-9BE4-4D3F-907A-B5BFDEEE975E",
"versionEndExcluding": "3.16.47",
"versionStartIncluding": "3.11"
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "15A3222E-681C-4561-B7DF-C1D36FE3773C",
"versionEndExcluding": "3.18.65",
"versionStartIncluding": "3.17"
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "BCC5E165-3BA3-42E8-A9B4-BAC5C9C90365",
"versionEndExcluding": "4.4.82",
"versionStartIncluding": "3.19"
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FE7B437E-2829-4956-BBB4-79F150CABB0C",
"versionEndExcluding": "4.9.43",
"versionStartIncluding": "4.5"
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9186C944-947B-4F51-8956-925591EFF822",
"versionEndExcluding": "4.12.7",
"versionStartIncluding": "4.10"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "cve@mitre.org"
}