mirror of
https://github.com/curl/curl.git
synced 2026-06-22 09:15:38 +03:00
KNOWN_BUGS.md: Windows stdin relay accepts unauthenticated local connections
A windows developer could have a look at this. Closes #21433
This commit is contained in:
parent
51905671e0
commit
aa1e954a1f
2 changed files with 17 additions and 1 deletions
3
.github/scripts/pyspelling.words
vendored
3
.github/scripts/pyspelling.words
vendored
|
|
@ -193,6 +193,7 @@ devtools
|
|||
DHCP
|
||||
DHE
|
||||
dir
|
||||
discoverable
|
||||
distro
|
||||
distro's
|
||||
distros
|
||||
|
|
@ -778,10 +779,10 @@ singlecwd
|
|||
SINIX
|
||||
Sintonen
|
||||
sizeof
|
||||
Slowloris
|
||||
SLE
|
||||
slist
|
||||
sln
|
||||
Slowloris
|
||||
SMB
|
||||
smb
|
||||
SMBS
|
||||
|
|
|
|||
|
|
@ -113,6 +113,21 @@ would do if you used `-T` file.
|
|||
|
||||
See [curl issue 12171](https://github.com/curl/curl/issues/12171)
|
||||
|
||||
## Windows stdin relay accepts unauthenticated local connections
|
||||
|
||||
curl features a Windows-only stdin relay in `src/tool_doswin.c` that creates a
|
||||
loopback TCP listener and spawns a thread to accept the first incoming
|
||||
connection, then forwards stdin to it. There is no authentication or peer
|
||||
validation on the accepted socket. A local attacker can race to connect to the
|
||||
ephemeral loopback port (discoverable via local port enumeration/scan) before
|
||||
curl connects, causing the thread to send stdin/upload data to the attacker or
|
||||
to disrupt the transfer.
|
||||
|
||||
The function should verify the client-side with a random number similar to the
|
||||
socketpair emulation function in libcurl. It cannot verify the source address
|
||||
and port since there is this widespread habit on Windows to run tools that
|
||||
MITM even local TCP connections for security.
|
||||
|
||||
# Build and portability issues
|
||||
|
||||
## OS400 port requires deprecated IBM library
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue