Out-of-Bounds

Affecting curl package, versions <7.52.1-5+deb9u2

Report new vulnerabilities
Do your applications use this vulnerable package? Test your applications

Overview

An IMAP FETCH response line indicates the size of the returned data, in number of bytes. When that response says the data is zero bytes, libcurl would pass on that (non-existing) data with a pointer and the size (zero) to the deliver-data function. libcurl's deliver-data function treats zero as a magic number and invokes strlen() on the data to figure out the length. The strlen() is called on a heap based buffer that might not be zero terminated so libcurl might read beyond the end of it into whatever memory lies after (or just crash) and then deliver that to the application as if it was actually downloaded.

References

CVSS Score

9.1
high severity
  • Attack Vector
    Network
  • Attack Complexity
    Low
  • Privileges Required
    None
  • User Interaction
    None
  • Scope
    Unchanged
  • Confidentiality
    High
  • Integrity
    None
  • Availability
    High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVE
CVE-2017-1000257
CWE
CWE-119
Snyk ID
SNYK-DEBIAN9-CURL-358454
Disclosed
31 Oct, 2017
Published
31 Oct, 2017