CVE-2017-1000112

Advisory lineage Upstream: 0 Downstream: 69
Modified
Published: 04 Oct 2017, 01:00
Last modified:05 Aug 2024, 21:53

Vulnerability Summary

Overall Risk (default)
high
55/100
CVSS Score
7 HIGH
v3.1 (nvd)
EPSS Score
82.86% CRITICAL
83% probability +0.54%
KEV
Not listed
Ransomware
No reports
Public exploits
4 found
Dark Web
Not detected

Timeline

04 Oct 2017, 01:00
Published
Vulnerability first disclosed
05 Aug 2024, 21:53
Last Modified
Vulnerability information updated

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.

CVSS Metrics

  • v3.1HIGHScore: 7CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
  • v2.0MEDIUMScore: 6.9AV:L/AC:M/Au:N/C:C/I:C/A:C

EPSS Trends

Current EPSS score: 82.86% Percentile: 99%

Techniques & Countermeasures

  • CWE-362Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

    The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.

Affected Systems

  • linuxlinux_kernel

    ≥ 2.6.15, < 3.10.108 | ≥ 3.11, < 3.16.47 | ≥ 3.17, < 3.18.65 | ≥ 3.19, < 4.4.82 | ≥ 4.5, < 4.9.43 | ≥ 4.10, < 4.12.7

References (13)