Every CVE Search/ Get API key

CVE-2013-2174

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl...

6.8 MediumFix available

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Exploit likelihood

9.81%Up 2.3 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 6.8

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
CVE-2013-2174
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-119
Updated
2026-11-02
CVE List No score

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
CVE-2013-2174
Updated
2026-11-02
EUVDEUVD-2013-2133 No score

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
EUVD-2013-2133
Updated
2026-11-03
GitHub AdvisoriesGHSA-98vv-mx5c-xg6c No score

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl...

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
GHSA-98vv-mx5c-xg6c
Weakness
CWE-119
Updated
2026-11-02
OSVCURL-CVE-2013-2174 No score

URL decode buffer boundary flaw

libcurl is vulnerable to a case of bad checking of the input data which may lead to heap corruption.

The function curl_easy_unescape() decodes URL encoded strings to raw binary data. URL encoded octets are represented with %HH combinations where HH is a two-digit hexadecimal number. The decoded string is written to an allocated memory area that the function returns to the caller.

The function takes a source string and a length parameter, and if the length provided is 0 the function instead uses strlen() to figure out how much data to parse.

The "%HH" parser wrongly only considered the case where a zero byte would terminate the input. If a length-limited buffer was passed in which ended with a '%' character which was followed by two hexadecimal digits outside of the buffer libcurl was allowed to parse alas without a terminating zero, libcurl would still parse that sequence as well. The counter for remaining data to handle would then be decreased too much and wrap to become a large integer and the copying would go on too long and the destination buffer that is allocated on the heap would get overwritten.

We consider it unlikely that programs allow user-provided strings unfiltered into this function. Also, only the not zero-terminated input string use case is affected by this flaw. Exploiting this flaw for gain is probably possible for specific circumstances but we consider the general risk for this to be low.

The curl command line tool is not affected by this problem as it does not use this function.

Record
CURL-CVE-2013-2174
Updated
2026-11-02
OSV No score

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
CVE-2013-2174
Updated
2026-11-02
Show 4 moreShow less
OSVDEBIAN-CVE-2013-2174 No score

Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a "%" (percent) character.

Record
DEBIAN-CVE-2013-2174
Updated
2026-11-02
OSVMGASA-2013-0188 No score

Updated curl packages fix CVE-2013-2174

libcurl is vulnerable to a case of bad checking of the input data which may lead to heap corruption. The function curl_easy_unescape() decodes URL encoded strings to raw binary data. URL encoded octets are represented with %HH combinations where HH is a two-digit hexadecimal number. The decoded string is written to an allocated memory area that the function returns to the caller (CVE-2013-2174)

Record
MGASA-2013-0188
Updated
2026-11-02
OSVopenSUSE-SU-2024:10303-1 No score

curl-7.51.0-1.1 on GA media

These are all security issues fixed in the curl-7.51.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10303-1
Updated
2026-11-02
OSVSUSE-SU-2015:0962-1 No score

Security update for curl

This curl update fixes the following security issues:

* bnc#868627: wrong re-use of connections (CVE-2014-0138).
* bnc#868629: IP address wildcard certificate validation
  (CVE-2014-0139).
* bnc#870444: --insecure option inappropriately enforcing security
  safeguard.

Security Issue references:

* CVE-2014-0138
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0138>
* CVE-2014-0139
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0139>
Record
SUSE-SU-2015:0962-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
curl
Debian:12
before 7.31.0-1
7.31.0-1
curl
Debian:13
before 7.31.0-1
7.31.0-1
curl
Debian:14
before 7.31.0-1
7.31.0-1
curl
Debian:6.0
before 7.21.0-2.1+squeeze4, plus listed versions
7.21.0-17.21.0-27.21.0-2.1+squeeze17.21.0-2.1+squeeze27.21.0-2.1+squeeze3
7.21.0-2.1+squeeze4
curl
Debian:7
before 7.26.0-1+wheezy3, plus listed versions
7.26.0-1+wheezy2
7.26.0-1+wheezy3
curl
Mageia:2
before 7.24.0-1.2.mga2
7.24.0-1.2.mga2
curl
Mageia:3
before 7.28.1-6.1.mga3
7.28.1-6.1.mga3
curl
Red Hat:enterprise_linux:5::server
before 0:7.15.5-17.el5_9
0:7.15.5-17.el5_9
curl-debuginfo
Red Hat:enterprise_linux:5::server
before 0:7.15.5-17.el5_9
0:7.15.5-17.el5_9
curl-devel
Red Hat:enterprise_linux:5::server
before 0:7.15.5-17.el5_9
0:7.15.5-17.el5_9
Show 17 moreShow less
Affected packages
PackageAffectedFixed
curl
Red Hat:enterprise_linux:6::client
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl-debuginfo
Red Hat:enterprise_linux:6::client
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl
Red Hat:enterprise_linux:6::client
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl-devel
Red Hat:enterprise_linux:6::client
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl
Red Hat:enterprise_linux:6::computenode
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl-debuginfo
Red Hat:enterprise_linux:6::computenode
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl
Red Hat:enterprise_linux:6::computenode
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl-devel
Red Hat:enterprise_linux:6::computenode
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl
Red Hat:enterprise_linux:6::server
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl-debuginfo
Red Hat:enterprise_linux:6::server
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl
Red Hat:enterprise_linux:6::server
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl-devel
Red Hat:enterprise_linux:6::server
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl
Red Hat:enterprise_linux:6::workstation
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl-debuginfo
Red Hat:enterprise_linux:6::workstation
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl
Red Hat:enterprise_linux:6::workstation
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
libcurl-devel
Red Hat:enterprise_linux:6::workstation
before 0:7.19.7-37.el6_4
0:7.19.7-37.el6_4
curl
openSUSE:Tumbleweed
before 7.51.0-1.1
7.51.0-1.1

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2013-2174 is a medium vulnerability (CVSS 6.8) in Haxx Curl, published June 22, 2013. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 9.81%, the 95th percentile. Fixed in curl 7.31.0-1.

References

Show 57 moreShow less
MoveEnter Open