瑞典个人身份号码验证库中的输入验证漏洞

本文披露了personnummer/dart库中一个低严重性的输入验证漏洞(CVE-2023-22963),该漏洞允许无效的个人身份号码(以"000"开头)通过验证。文章详细说明了影响范围、修复版本以及临时的缓解措施。

personnummer/dart vulnerable to Improper Input Validation · CVE-2023-22963 · GitHub Advisory Database · GitHub

漏洞详情

包管理器: pub : personnummer (Pub) 受影响版本: < 3.0.3 已修复版本: 3.0.3

描述

此漏洞于2020年6月报告给personnummer团队。响应缓慢的原因是部分受影响软件包的所有权被锁定,导致在披露前更新软件包有所延迟。 该漏洞被判定为低严重性。

影响

此漏洞影响那些依赖个人身份号码最后四位数字来验证是否为真实个人身份号码的用户。

补丁

该问题已在所有代码仓库中得到修复。应尽快更新至以下版本:

  • C# 3.0.2
  • D 3.0.1
  • Dart 3.0.3
  • Elixir 3.0.0
  • Go 3.0.1
  • Java 3.3.0
  • JavaScript 3.1.0
  • Kotlin 1.1.0
  • Lua 3.0.1
  • PHP 3.0.2
  • Perl 3.0.0
  • Python 3.0.2
  • Ruby 3.0.1
  • Rust 3.0.0
  • Scala 3.0.1
  • Swift 1.0.1

如果您正在使用任何早期版本的软件包,请更新至最新版本。

临时解决方案

该问题源于正则表达式允许个人身份号码最后四位数字中的前三位为“000”,而这是无效的。若不想升级,可以通过检查最后四位数字来缓解此问题,确保其不是“000x”。

更多信息

如果您对此公告有任何疑问或意见:

  • 在 Personnummer Meta 中创建一个议题
  • 通过电子邮件联系我们:Personnummer Email

参考

发布者: Johannestegner 发布至: personnummer/dart 发布日期: 2020年9月4日 发布至 GitHub Advisory Database: 2022年9月19日 已审核: 2022年9月19日 最后更新: 2023年1月11日

严重性: 低 EPSS 分数: 0.126% (第33个百分位数)

弱点:

  • CWE-20: 不当的输入验证
    • 产品接收输入或数据,但未验证或错误地验证输入是否具有安全正确处理数据所需的属性。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计