Arch Linux Security Advisory ASA-201711-6
========================================
Severity: Medium
Date    : 2017-11-02
CVE-ID  : CVE-2017-1000257
Package : curl
Type    : information disclosure
Remote  : Yes
Link    : https://security.archlinux.org/AVG-467

Summary
======
The package curl before version 7.56.1-1 is vulnerable to information
disclosure.

Resolution
=========
Upgrade to 7.56.1-1.

# pacman -Syu "curl>=7.56.1-1"

The problem has been fixed upstream in version 7.56.1.

Workaround
=========
None.

Description
==========
A heap buffer overrun flaw was found in the IMAP handler of libcurl >7.20.0 and < 7.56.1. 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.
By tricking an unsuspecting user into connecting to a malicious IMAP
server, an attacker could exploit this flaw to potentially cause
information disclosure or crash the application.

Impact
=====
A remote attacker is able to disclose sensitive information or crash
the application by tricking an unsuspecting user into connecting to a
malicious IMAP server.

References
=========
https://curl.se/docs/CVE-2017-1000257.html
https://github.com/curl/curl/commit/13c9a9ded3ae744a1e11cbc14e9146d9fa427040
https://security.archlinux.org/CVE-2017-1000257

ArchLinux: 201711-6: curl: information disclosure

November 6, 2017

Summary

A heap buffer overrun flaw was found in the IMAP handler of libcurl >7.20.0 and < 7.56.1. 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. By tricking an unsuspecting user into connecting to a malicious IMAP server, an attacker could exploit this flaw to potentially cause information disclosure or crash the application.

Resolution

Upgrade to 7.56.1-1. # pacman -Syu "curl>=7.56.1-1"
The problem has been fixed upstream in version 7.56.1.

References

https://curl.se/docs/CVE-2017-1000257.html https://github.com/curl/curl/commit/13c9a9ded3ae744a1e11cbc14e9146d9fa427040 https://security.archlinux.org/CVE-2017-1000257

Severity
Package : curl
Type : information disclosure
Remote : Yes
Link : https://security.archlinux.org/AVG-467

Workaround

None.

Related News