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.
{ "www": "https://curl.se/docs/CVE-2021-22925.html", "issue": "https://hackerone.com/reports/1223882", "affects": "both", "award": { "currency": "USD", "amount": "800" }, "CWE": { "id": "CWE-457", "desc": "Use of Uninitialized Variable" }, "last_affected": "7.77.0", "severity": "Medium", "URL": "https://curl.se/docs/CVE-2021-22925.json", "package": "curl" }
{ "vanir_signatures": [ { "digest": { "length": 2162.0, "function_hash": "316933520917559347077501990993139660214" }, "source": "https://github.com/curl/curl.git/commit/894f6ec730597eb243618d33cc84d71add8d6a8a", "id": "CURL-CVE-2021-22925-42b460d0", "signature_version": "v1", "target": { "file": "lib/telnet.c", "function": "suboption" }, "signature_type": "Function", "deprecated": false }, { "digest": { "line_hashes": [ "73371219997613798860273049430938336872", "246464346227486228829190896668526825182", "211103125117598029027713563117906999281", "45302255415263079241276111190376578806", "66444213479799562148186156236093836400", "171170274092991383111325095799231300614", "269634034906769680142597048279449049406", "89712093938542999602004345946193224210", "263138597271543149838825752148738172629" ], "threshold": 0.9 }, "source": "https://github.com/curl/curl.git/commit/894f6ec730597eb243618d33cc84d71add8d6a8a", "id": "CURL-CVE-2021-22925-6cb4958a", "signature_version": "v1", "target": { "file": "lib/telnet.c" }, "signature_type": "Line", "deprecated": false } ] }