CVE-2022-32221 Information
Description
When doing HTTP(S) transfers libcurl might erroneously use the read callback (CURLOPT_READFUNCTION) to ask for data to send even when the CURLOPT_POSTFIELDS option has been set if the same handle previously was used to issue a PUT request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent POST request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST.
Reference
https://hackerone.com/reports/1704017
When
doing
HTTP(S)
transfers
libcurl
might
erroneously
use
the
read
callback
(CURLOPT_READFUNCTION)
to
ask
for
data
to
send
even
when
the
CURLOPT_POSTFIELDS
option
has
been
set
if
the
same
handle
previously
was
used
to
issue
a
PUT
request
which
used
that
callback.
This
flaw
may
surprise
the
application
and
cause
it
to
misbehave
and
either
send
off
the
wrong
data
or
use
memory
after
free
or
similar
in
the
subsequent
POST
request.
The
problem
exists
in
the
logic
for
a
reused
handle
when
it
is
changed
from
a
PUT
to
a
POST.