FTP entrypath accepts 0xFF (Telnet IAC) through incomplete ISCNTRL filter, sent on wire via CWD on connection reuse
该报告还没有中文解读。
原文摘录
摘自原文(3464 字符中的一小部分)
A malicious FTP server can embed byte 0xFF (Telnet IAC) in the PWD response path. The `ISCNTRL()` filter at `lib/ftp.c:3095` expands to `ISLOWCNTRL(x) || IS7F(x)`, which is `((unsigned char)(x) <= 0x1f) || ((x) == 0x7f)` (defined at `lib/curl_ctype.h:30-37`). `(unsigned char)(0xFF)` is 255, so …
原文中的代码
import socket, threading
def data_serve():
s = socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('127.0.0.1', 2122)); s.listen(5)
while True:
c, _ = s.accept(); c.sendall(b"-rw-r--r-- 1 ftp ftp 0 Jan 1 00:00 x\r\n"); c.close() …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @mzfr · 版权归作者与 curl 所有