CVE-2023-38545 Information
Description
This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake.
When curl is asked to pass along the host name to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself the maximum length that host name can be is 255 bytes.
If the host name is detected to be longer curl switches to local name resolving and instead passes on the resolved address only. Due to this bug the local variable that means \let the host resolve the name\ could get the wrong value during a slow SOCKS5 handshake and contrary to the intention copy the too long host name to the target buffer instead of copying just the resolved address there.
The target buffer being a heap based buffer and the host name coming from the URL that curl has been told to operate with.
Reference
https://curl.se/docs/CVE-2023-38545.html https://curl.se/docs/CVE-2023-38545.html This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake.
When curl is asked to pass along the host name to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself the maximum length that host name can be is 255 bytes.
If
the
host
name
is
detected
to
be
longer
curl
switches
to
local
name
resolving
and
instead
passes
on
the
resolved
address
only.
Due
to
this
bug
the
local
variable
that
means
\let
the
host
resolve
the
name
could
get
the
wrong
value
during
a
slow
SOCKS5
handshake
and
contrary
to
the
intention
copy
the
too
long
host
name
to
the
target
buffer
instead
of
copying
just
the
resolved
address
there.
The target buffer being a heap based buffer and the host name coming from the URL that curl has been told to operate with.
Share on: