Internet Bug Bounty · Report #1912770
CVE-2023-27533: TELNET option IAC injection
Summary
CVE-2023-27533: TELNET option IAC injection
Project curl Security Advisory, March 20th 2023 - Permalink
VULNERABILITY
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.
We are not aware of any exploit of this flaw.
INFO
CVE-2023-27533 was introduced in commit a1d6ad26100bc493c7, shipped in curl 7.7.
CWE-75: Failure to Sanitize Special Elements into a Different Plane
Severity: Low
AFFECTED VERSIONS
- Affected versions: curl 7.7 to and including 7.88.1
- Not affected versions: curl < 7.7 and curl >= 8.0.0
libcurl is used by many applications, but not always advertised as such!
THE SOLUTION
Only accept ASCII user name and telnet options.
A fix for CVE-2023-27533
RECOMMENDATIONS
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
How it was found
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.
Hackerone report
#1891474
Impact
Attacker being able to specify TTYPE, XDISPLOC or NEW_ENV values is able to inject unintended TELNET commands to the telnet connection. Depending on the use case of the telnet protocol, this may allow the attacker to inject arbitrary controlling operations, or arbitrary input as if entered by the user manually.