Lynx 的 SSL 证书验证中的错误——通过 SNI 以明文形式泄露密码

2021-08-07 23:57:19

日期:2021 年 8 月 7 日星期六 03:51:07 +0200 发件人:Axel Beckert <[email protected]>收件人:[email protected][email protected] .com, [email protected], [email protected]: Re: [Lynx-dev] Lynx SSL 证书验证中的错误 -> 通过 SNI 以明文形式泄露密码(在某些情况下) )嗨,2021 年 8 月 6 日星期五下午 05:14:32 +0000,Thorsten Glaser<[email protected]> 在 https://lists.nongnu.org/archive/html/lynx-dev 中写道/2021-08/msg00000.html:> 这会影响 OpenSSL 和 Debian 的非 GNUtls 构建:> > lynx https://user:[email protected]/> > ... 将导致...> > SSL error:host(user :[email protected])!=cert(CN<mainhost>:SAN<DNS=host>:SAN<DNS=otherhost>> > ... 对于 OpenSSL lynx 和...> > SSL 错误:host(user:pass@. ..t)!=cert(CN<mainhost>)-Continue? (n)> > ... for nonGNUtls lynx.> > 显然,user:pass@ 需要在比较之前被剥离。这比最初看起来更严重:由于 TLS ServerName Indication (SNI),Lynx 解析的主机名(即包含“user:pass@”)在 _c 中发送lear_ 网络上的文本 even_before_ 我什至可以在 Lynx 的提示中说“n”表示“不,不要继续与此服务器对话”,如上所示。我能够在 TLS 握手的流量中捕获命令行上给出的密码使用tcpdump 并使用 Wireshark 进行分析:来自 Wiresharks TLS dissector:服务器名称指示扩展服务器名称列表长度:28 服务器名称类型:host_name (0) 服务器名称长度:25 服务器名称:user:[email protected] ^ ^^^^^^^^^来自Wiresharks“跟随TCP流”:...........a....jV.........../..... ..D.&...R.+.,..... ..../.0.........z.{./.5.A ........|.}.3.9.E.................2.8.D........ .$."...user:[email protected]......#................................ ......................(可应要求提供 PCAP。实际上用我的本地服务器进行了测试。但是它应该很容易重现,无论是任何 Linux 发行版。)我用来自 Debian Experimental(它有当前的 Lynx 上游版本 2.9.0dev.8)的 Lynx 以及来自 Debian 8 Jessie ELTS(它有 Lynx 2.8.9dev.1) 并且都通过 SNI 泄露密码。我虽然假设 Lynx 的旧版本也可能受到影响,至少如果它们或相应的加密库支持 SNI。尽管如此,仅尝试以这种方式使用 Lynx(并且看到它失败)已经泄露了使用的密码。恕我直言,这仍然需要一个 CVE-ID.Cc'ing Debian 安全团队以及 OSS 安全邮件列表,以便让他们意识到这个问题。我还更新了该线程的主题,以使其在其他邮件列表中不那么含糊不清。我还抄送了我为在 Debian 中跟踪此问题而创建的相应 Debian 错误报告:https://bugs.debian.org/991971亲切的问候,阿克塞尔 - ,''`。 | Axel Beckert <[email protected]>, https://people.debian.org/~abe/: :' : | Debian 开发人员,ftp.ch.debian.org 管理员`。 `' | 4096R:2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5`- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE 下载“application/pgp-signature”类型的附件“signature.asc”(834字节)