字体仍然是一个棘手的问题

字体仍然是一个棘手的问题

💡 原文英文,约2500词,阅读约需9分钟。
📝

内容提要

Canva发现字体处理中的安全漏洞,特别是在SVG和XML解析器中。研究指出,字体的复杂性可能导致安全问题,尤其是在处理不受信任的XML文件时。FontForge等工具在处理字体时存在命令注入风险,需加强安全措施。希望未来能有更多关于字体安全的研究。

🔎

延伸解读

字体处理:被忽视的安全盲区

字体文件格式复杂,包含众多辅助表,如SVG表,这些表可能成为攻击入口。Canva的研究表明,字体处理工具中的XML解析器若配置不当,可能引发XXE漏洞,导致敏感文件泄露。这提醒开发者,字体不仅是设计资源,更是潜在的安全风险点,需像对待其他不可信输入一样谨慎处理。

开源工具的安全挑战与协作

FontTools和FontForge等开源工具在字体处理中广泛使用,但存在命令注入等漏洞。Canva通过负责任披露,与维护者合作快速修复,体现了开源社区协作的价值。然而,维护者往往资源有限,安全工程师的参与能加速漏洞修补,提升整体安全成熟度。

字体压缩与子集化的风险

为优化性能,字体常被压缩或子集化,但这也引入安全风险。例如,FontTools在子集化SVG表时,若XML解析器允许实体解析,可能被利用读取本地文件。开发者应确保解析器禁用实体解析,并谨慎处理不受信任的字体文件,避免因优化操作而降低安全性。

❓

Q&A

Canva发现了哪些字体处理中的安全漏洞?

Canva发现了在SVG和XML解析器中存在的字体处理安全漏洞,特别是在处理不受信任的XML文件时。

FontForge在处理字体时存在哪些风险?

FontForge在处理字体时存在命令注入风险,尤其是在处理归档文件时的命名约定可能导致安全问题。

SVG表支持在字体中提供什么功能?

SVG表支持为字体中的字形提供SVG定义,这也是支持颜色字体的几种方式之一。

字体压缩和子集化操作可能引入哪些安全风险?

字体压缩和子集化操作可能导致安全风险,尤其是在处理不受信任的输入时,需要谨慎处理。

未来关于字体安全的研究有什么期望?

希望未来能有更多关于字体安全的研究,以提高安全成熟度。

FontTools在处理SVG表时存在哪些配置问题?

FontTools在处理SVG表时的配置不当可能导致XML外部实体(XXE)漏洞。

🏷️

标签

➡️

继续阅读