TELNET stack contents disclosure again
Project curl Security Advisory, July 21st 2021 - Permalink
curl supports the
-t command line option, known as
CURLOPT_TELNETOPTIONS in libcurl. This rarely used option is used to send variable=content pairs to TELNET servers.
Due to flaw in the option parser for sending
NEW_ENV variables, libcurl could be made to pass on uninitialized data from a stack based buffer to the server. Therefore potentially revealing sensitive internal information to the server using a clear-text network protocol.
This could happen because curl did not call and use
sscanf() correctly when parsing the string provided by the application.
The previous curl security vulnerability CVE-2021-22898 is almost identical to this one but the fix was insufficient so this security vulnerability remained.
There was a previous attempt to fix this issue in curl 7.77.0 but it was not done proper.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2021-22925 to this issue.
CWE-457: Use of Uninitialized Variable
- Affected versions: curl 7.7 to and including 7.77.0
- Not affected versions: curl < 7.7 and curl >= 7.78.0
- Introduced-in: https://github.com/curl/curl/commit/a1d6ad2610
libcurl is used by many applications, but not always advertised as such.
sscanf() properly and only use properly filled-in buffers.
A - Upgrade curl to version 7.78.0
B - Apply the patch to your local version
C - Avoid using
This issue was reported to the curl project on June 11, 2021.
This advisory was posted on July 21, 2021.
- Reported-by: Red Hat Product Security
- Patched-by: Red Hat Product Security
Thanks a lot!