在本周的文摘中,我们将讨论。
- 一个Kibana安全版本;
- Traefik管理TLS连接的一个漏洞;以及
- NodeJS上的Webcrypto Keygen的弱随机性问题
Kibana安全发布
类型混淆:程序分配或初始化一个资源,如使用一种类型的指针、对象或变量,但它后来使用与原始类型不兼容的类型访问该资源。- MITRE定义
CVSSv3.1:NIST - 8.8 (高) | CVE ID:CVE-2022-1364
7.17.8、8.5.0安全更新: 在Kibana的报告功能所依赖的无头Chromium浏览器中发现了一个类型混淆的漏洞。这个问题只影响到Chromium沙盒被禁用的主机操作系统上的企业内部Kibana实例(只有CentOS,Debian )。这个问题不影响Elastic Cloud,因为Chromium沙箱是默认启用的,不能被禁用。这个问题也不影响Elastic Cloud Enterprise。
Traefik管理TLS连接的漏洞
CVSSv3.1:
- NIST - 6.6 (中等)
- CNA (Github) - 8.1 (高)
CVE ID:CVE-2022-46153
Traefik是一个现代HTTP反向代理和负载平衡器。它与你现有的基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher 、Amazon ECS)集成,并自动和动态地配置自己。
在受影响的版本中,Traefik在管理TLS连接方面存在一个潜在的漏洞。一个配置了格式不好的TLSOption的路由器会以一个空的TLSOption暴露出来。例如,使用具有错误CA文件的mTLS连接集的安全路由,在没有验证客户端证书的情况下被暴露。建议用户升级到2.9.6版本。
补丁: https://github.com/traefik/traefik/releases/tag/v2.9.6
无法升级的用户应该检查他们的日志,检测以下错误信息,并直接修复TLS选项:
空的CA:
{"level":"error","msg":"invalid clientAuthType: RequireAndVerifyClientCert, CAFiles is required","routerName":"Router0@file"}
坏的CA内容(或坏的路径):
{"level":"error","msg":"invalid certificate(s) content","routerName":"Router0@file"}
未知客户授权类型:
{"level":"error","msg":"unknown client auth type \"FooClientAuthType\"","routerName":"Router0@file"}
无效的cipherSuites:
{"level":"error","msg":"invalid CipherSuite: foobar","routerName":"Router0@file"}
无效的curvePreferences:
{"level":"error","msg":"invalid CurveID in curvePreferences: foobar","routerName":"Router0@file"}
NodeJS上的Webcrypto Keygen的弱随机性
CWE-338:使用密码学上较弱的伪随机数发生器(PRNG)。该产品在安全方面使用了一个伪随机数发生器(PRNG),但PRNG的算法在密码学上并不强大。
CVSSv3.1:NIST - 9.1 (Critical) | CVE ID:CVE-2022-35255
HackerOne上的一位贡献者发现了NodeJS v15.0.0中引入的一个漏洞,其中https://github.com/nodejs/node/pull/35093,在 src/crypto/crypto_keygen.cc中的SecretKeyGenTraits::DoKeyGen()中引入了对EntropySource()的调用。这其中有两个问题:
- Node.js 在SecretKeyGenTraits::DoKeyGen()中对EntropySource()进行了调用。然而,它没有检查返回值,并假设EntropySource()总是成功的,但它可能而且有时会失败。
- 由EntropySource()返回的随机数据可能不具有密码学上的强度,因此不适合作为钥匙材料。
总的来说,这个缺陷允许远程攻击者解密敏感信息。
注释