Lucene search

K
hackeroneRobboticH1:1752146
HistoryOct 26, 2022 - 2:34 p.m.

Internet Bug Bounty: POST following PUT confusion

2022-10-2614:34:05
robbotic
hackerone.com
$2400
21
information disclosure
use after free
security issues
http put
http post
data injection
buffer
segfaults
sensitive information

0.007 Low

EPSS

Percentile

80.3%

The bug I submitted at https://github.com/curl/curl/issues/9507 can have at least a few unintended security issues:

Information Disclosure: this bug causes an HTTP PUT to occur when the user intends for an HTTP POST to occur. The user, who intended an HTTP POST, expects the POSTed information to come from CURLOPT_POSTFIELDS. However, as an HTTP PUT is performed instead, the data that is PUT comes from a buffer specified in CURLOPT_READDATA, which may be sensitive information intended for an entirely different host (host1.com below). If CURLOPT_READDATA is not specified, this data could come from stdin!
Use after free: using the description above, if the user had already freed the data specified in CURLOPT_READDATA, then the unintended HTTP PUT (which was intended to be an HTTP POST) would attempt to read the freed data specified in CURLOPT_READDATA.

Impact

An attacker could potentially inject data, either from stdin or from an unintended buffer. Further, without even an active attacker, this could lead to segfaults or sensitive information being exposed to an unintended recipient.