acme.sh 存在 RCE 漏洞,已经被国产 HiCA 利用

2023-06-09 17:36:55 +08:00
 baobao1270

https://github.com/acmesh-official/acme.sh/issues/4659

一家来自中国证书颁发机构 HiCA 正在向 ACME 质询过程中注入任意命令,并且可以被 acme.sh 在客户端执行。

建议大家不要使用 HiCA 这家 CA ,最好仅使用知名的证书服务比如 ZeroSSL, Let's Encrypt, Google Trust Service 等。

他们甚至还申请了专利……: https://qxb-img-osscache.qixin.com/patents_pdf_new/2219395a941e8bae0e5cb4475b3b3610.pdf

10012 次点击
所在节点    信息安全
47 条回复
InDom
2023-06-09 17:40:17 +08:00
什么?我又被白嫖了?
v2yllhwa
2023-06-09 17:41:19 +08:00
我还用过这家。。。记得宣称的就是只准使用 acme.sh ,不能用 gui 等方式签发。
codehz
2023-06-09 17:54:59 +08:00
专利的内容是显示付款信息,不是 rce
baysonfox
2023-06-09 18:18:11 +08:00
OP 里提到的 issue 里有人抓到了脚本,目前还没啥大问题 (见 https://github.com/acmesh-official/acme.sh/issues/4659#issuecomment-1583615376)
NanoApe
2023-06-09 18:19:06 +08:00
看了眼,并不是恶性利用,只是为了显示付款信息和收款二维码之类的
baobao1270
2023-06-09 18:34:06 +08:00
@v2yllhwa 因为只有 acme.sh 支持这么搞。标准的 acme 协议不支持这种。

@codehz 是的,「显示付款信息」是动机,「利用 RCE 」是为了完成动机所做的行为。

@NanoApe 我觉得还是应该警惕,今天可以显示付款信息、二维码,以后就有能力做「匿名数据收集」,再往后如果哪天「 CA 受到外部压力,奉命收集用户私钥,搞双证书体系」也是有可能的。
azuis
2023-06-09 18:38:10 +08:00
@codehz 但是问题是如果 rce 修掉之后就无法显示付款信息了。 实际上这个专利的实现依赖于 rce 。
azuis
2023-06-09 18:43:21 +08:00
其实专利上面有说这个 rce


"[0014] ACME 标准请求和响应格式:根据 RFC8555 之定义,ACME 的请求与响应格式均为
application/jose+json 格式,其作为 json 结构的进一步约束版本,所有的响应与请求参数
都有严格的类型要求,ACME 服务器扩展的任何非 RFC8555 标准字段,均无法被客户端所理
解,不论是展示或者去请求所返回的字段。
[0015] 但是一部分 ACME 客户端,在处理异常之时,会将消息字段或者完整的响应 body 进
行原始输出。这样就给了操作空间来扩展交互界面,例如想展示非 application/jose+json
数据给客户端,甚至数据经过特殊 unicode 处理(用 unicode 字符拼出一张二维码),在客户
端实现二维码的展示也是可行的。"

是一部分客户端异常处理输出的时候的问题。
Yadomin
2023-06-09 18:52:32 +08:00
拿着这么大的洞居然只用来显示二维码,太感人了
leonshaw
2023-06-09 19:18:59 +08:00
@Yadomin 玩脱了 CA 会被吊销吧
james122333
2023-06-09 19:26:30 +08:00
这个烂脚本近八千行还 gpl 3.0 协议...
patrickyoung
2023-06-09 19:34:37 +08:00
有没有人可以给一下这家公司的 CA 序列号或者信任链,我在本地吊销一下以保证我的安全
buxiaozisun
2023-06-09 19:51:43 +08:00
@patrickyoung 根证书 USERTrust 中间证书 Sectigo
jKpzPv20NjX56i44
2023-06-09 19:59:20 +08:00
他们的出发点是好的... 但是就是不知道这个世界的“规则”到底是什么。为什么就不提个 pr 呢...
LeviMarvin
2023-06-09 20:06:29 +08:00
同求该公司 CA 的证书信息,我需要本地吊销
baobao1270
2023-06-09 20:24:29 +08:00
@Yadomin 毕竟他们是 CA 公司,不会用来做真正的攻击行为。

@patrickyoung
@LeviMarvin
他们是 Sectigo 分销,好像没有自己的中间证书。市面上很多家 CA 都是 Sectigo 的,你吊销了 Sectigo 证书那会误伤很多网站
louisxxx
2023-06-09 20:36:41 +08:00
@Yadomin 主要是用的人信任你才会用你的接口
makelove
2023-06-09 20:49:32 +08:00
acme.sh 为什么这么大的程序要用 shell 脚本来写?感觉用 sh 处理各类外来数据本身就很难搞可靠
Trim21
2023-06-09 20:56:57 +08:00
太搞了,换 certbot 了
1423
2023-06-09 21:01:07 +08:00
草台班子论再次生效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947389

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX