TELNET option IAC injection
Project curl Security Advisory, March 20th 2023 - Permalink
curl supports communicating using the TELNET protocol and as a part of this it offers users to pass on user name and "telnet options" for the server negotiation.
Due to lack of proper input scrubbing and without it being the documented functionality, curl would pass on user name and telnet options to the server as provided. This could allow users to pass in carefully crafted content that pass on content or do option negotiation without the application intending to do so. In particular if an application for example allows users to provide the data or parts of the data.
CWE-75: Failure to Sanitize Special Elements into a Different Plane
- Affected versions: curl 7.7 to and including 7.88.1
- Not affected versions: curl < 7.7 and curl >= 8.0.0
- Introduced-in: https://github.com/curl/curl/commit/a1d6ad26100bc493c7
libcurl is used by many applications, but not always advertised as such!
Only accept ASCII user name and telnet options.
A - Upgrade curl to version 8.0.0
B - Apply the patch to your local version
C - Do your own TELNET user name or option input filtering
This issue was reported to the curl project on March 3, 2023. We contacted distros@openwall on March 13, 2023.
curl 8.0.0 was released on March 20 2023, coordinated with the publication of this advisory.
- Reported-by: Harry Sintonen
- Patched-by: Daniel Stenberg
Thanks a lot!