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

326 天前
 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

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

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

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


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

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

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

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

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

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

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

© 2021 V2EX