内容简介:凌晨1点突然收到邮件,我使用的dependabot提醒我有依赖更新了, 还是安全更新.吓得我赶紧看看是怎么回事.更新的库是先查看了一下问题描述
cve-2019-11324 漏洞分析
凌晨1点突然收到邮件,我使用的dependabot提醒我有依赖更新了, 还是安全更新.吓得我赶紧看看是怎么回事.
更新的库是 urllib3
, 我查看了一下更新日志
- Don’t load system certificates by default when any other ca_certs , ca_certs_dir or ssl_context parameters are specified.
- Remove Authorization header regardless of case when redirecting to cross-site. (Issue href=“ #1510" rel="nofollow,noindex" target="_blank">https://github.com/urllib3/urllib3/issues/%5C1510">#1510 )
- Add support for IPv6 addresses in subjectAltName section of certificates. (Issue href=“ #1269" rel="nofollow,noindex" target="_blank">https://github.com/urllib3/urllib3/issues/%5C1269">#1269
本来以为是第一个条目的问题,查看了一下日期,应该是第二个#1510,因为它的时间刚好符合漏洞披露的期间,6个月.
补丁分析
先查看了一下问题描述 #1510
#1346 fixes only "Authorization" header. "authorization" header isn't supported. RFC7230 section 3.2 "Header Fields" (https://tools.ietf.org/html/rfc7230#section-3.2) says the following.
大概意思是根据RFC, http头字段大小写不敏感,而现在urllib3在重定向到其他站,删除头功能是大小写敏感的.
查看代码diff
原代码
for header in retries.remove_headers_on_redirect:
kw['headers'].pop(header, None)
修复后代码
for header in headers:
if header.lower() in retries.remove_headers_on_redirect:
kw['headers'].pop(header, None)
可以发现只是更改了一下大小写..
漏洞影响
个人觉得漏洞影响不大,就算不提本身的利用性不高, 再说使用这个功能还把大小写写错的人应该非常少.
.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rust编程之道
张汉东 / 电子工业出版社 / 2019-1 / 128
Rust 是一门利用现代化的类型系统,有机地融合了内存管理、所有权语义和混合编程范式的编程语言。它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全。同时,还有能与C/C++语言媲美的性能,以及能和动态语言媲美的开发效率。 《Rust编程之道》并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust 语言。从设计哲学出发,探索Rust 语言的内在一致性;从源码分析入......一起来看看 《Rust编程之道》 这本书的介绍吧!