主要观点:Canva 致力于提升平台安全,使用开源工具处理大量图形文件,发现字体处理中的安全漏洞,包括 SVG 相关漏洞(CVE-2023-45139)、字体集合与奇特命名约定相关漏洞(CVE-2024-25081)、压缩字体相关漏洞(CVE-2024-25082)等,并强调应将字体视为不可信输入进行安全处理。
关键信息:
- Canva 每天处理数百万各种图形格式文件,使用开源工具,关注字体处理攻击面。
- 字体历史悠久,当前字体景观复杂,存在攻击面,Google 曾开展字体安全研究。
- SVG 在数字排版中有独特方式,FontTools 用于字体处理,其 4.28.2 版本在处理 SVG 表时存在 XML External Entity 漏洞。
- 字体有压缩和子集化操作,FontTools 实现了子集化 SVG 表的支持,易引发安全问题。
- 历史上有 TrueType Collection 等字体格式,FontForge 采用特定命名约定,处理归档文件时存在命令注入漏洞。
- 压缩字体流行,FontForge 支持处理归档文件,在解析目录表时存在漏洞。
重要细节: - 给出了各漏洞的证明概念代码,如利用 XML 实体解析漏洞获取 /etc/passwd 文件内容,构造包含命令的文件名进行命令注入等。
- 提及各漏洞的补丁情况和时间线,如 FontTools 维护者迅速实施补丁,FontForge 维护者合并相关补丁等。
- 强调处理字体应像处理不可信输入一样,实施沙箱化,使用 OpenType-Sanitizer 等工具,感谢开源字体软件维护者的工作,期望更多字体安全研究。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。