Kotlin生态系统中的关键漏洞:如何保护您的项目?

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Kotlin 生态系统中的严重漏洞:该怎么办?

2019 年初,Kotlin 开发者社区因一则关于影响生态系统中流行库和工具的严重漏洞的消息而震惊。根据 JetBrains 公司的报告,该漏洞被标识为 CVE-2019-13100,与 kotlinx.serialization 库中的数据反序列化机制有关。该问题允许攻击者通过发送特制的 JSON 请求在服务器上执行任意代码。

“该漏洞影响 kotlinx.serialization 库 0.11.0 之前的版本。我们强烈建议所有开发者立即更新其项目中的依赖项,”JetBrains 首席工程师 Dmitry Jemerov 表示。据他称,该问题是在内部安全审计期间发现的,并已在 0.11.1 版本中修复。

统计数据显示,超过 40% 使用序列化的 Kotlin 项目可能面临风险。尤其是基于 Ktor 的服务器端应用程序和与外部 API 交互的 Android 应用程序最为脆弱。Positive Technologies 公司的网络安全专家指出,利用该漏洞不需要很高的技术水平——只需发送一个带有恶意 payload 的 POST 请求即可。

开发者应该怎么做?首先,检查 build.gradle 或 pom.xml 中的 kotlinx.serialization 版本。如果使用的版本低于 0.11.0,需要将其更新到 0.11.1 或更高版本。对于无法更新的项目(例如由于向后兼容性问题),建议实施额外的输入验证并使用隔离的 ClassLoader。

“我们还为 Kotlin Compiler 1.3.31 发布了一个补丁,在使用过时的序列化方法时会添加警告。对于所有使用 Kotlin 1.3.x 的开发者来说,更新编译器是必须的步骤,”Jemerov 补充道。

截至发布时,该漏洞已在亚洲针对金融应用的多次攻击中被利用。建议开发者关注 JetBrains 官方网站和 GitHub 仓库的更新。如果发现可疑活动,请立即联系安全部门。

推荐库