CURL-CVE-2018-16839

Source
https://curl.se/docs/CVE-2018-16839.html
Import Source
https://curl.se/docs/CURL-CVE-2018-16839.json
JSON Data
https://api.osv.dev/v1/vulns/CURL-CVE-2018-16839
Aliases
Published
2018-10-31T08:00:00Z
Modified
2024-07-02T09:22:24Z
Summary
SASL password overflow via integer overflow
Details

libcurl contains a buffer overrun in the SASL authentication code.

The internal function Curl_auth_create_plain_message fails to correctly verify that the passed in lengths for name and password are not too long, then calculates a buffer size to allocate.

On systems with a 32 bit size_t, the math to calculate the buffer size triggers an integer overflow when the username length exceeds 1GB and the password name length is close to 2GB in size. This integer overflow usually causes a very small buffer to actually get allocated instead of the intended very huge one, making the use of that buffer end up in a heap buffer overflow.

(This bug is very similar to CVE-2018-14618.)

References
Credits
    • Harry Sintonen - FINDER
    • Daniel Stenberg - REMEDIATION_DEVELOPER

Affected packages

Git / github.com/curl/curl.git

Affected ranges

Type
SEMVER
Events
Introduced
7.33.0
Fixed
7.62.0
Type
GIT
Repo
https://github.com/curl/curl.git
Events

Affected versions

7.*

7.33.0
7.34.0
7.35.0
7.36.0
7.37.0
7.37.1
7.38.0
7.39.0
7.40.0
7.41.0
7.42.0
7.42.1
7.43.0
7.44.0
7.45.0
7.46.0
7.47.0
7.47.1
7.48.0
7.49.0
7.49.1
7.50.0
7.50.1
7.50.2
7.50.3
7.51.0
7.52.0
7.52.1
7.53.0
7.53.1
7.54.0
7.54.1
7.55.0
7.55.1
7.56.0
7.56.1
7.57.0
7.58.0
7.59.0
7.60.0
7.61.0
7.61.1