发布日期:2024 年 10 月 21 日下午 4:00(太平洋夏令时)
说明:
Amazon.ApplicationLoadBalancer.Identity.AspNetCore 存储库包含中间件,该中间件可以与应用程序负载均衡器(ALB)OpenId Connect 集成结合使用,并且可以在任何 ASP.NET Core 部署场景中使用,包括 AWS Fargate、Amazon Elastic Kubernetes Service(Amazon EKS)、Amazon Elastic Container Service(Amazon ECS)、Amazon Elastic Compute Cloud(Amazon EC2)和 AWS Lambda。在 JWT 操作代码中,它可以执行签名验证,但无法验证 JWT 颁发者和签名者的身份。如果基础设施的所有者允许通过互联网访问 ALB 目标(不建议这样配置),在这种情况下遗漏签名者将使得不受信任的实体可以进行 JWT 签名,这样一来不法分子或许就能够模拟对 ALB 目标的有效 OIDC 联合身份会话。
受影响的版本:所有版本
解决方案
该存储库/包已被弃用,生命周期已结束,不再受到积极支持。
临时措施
作为安全最佳实践,请确保您的 ELB 目标(例如 EC2 实例、Fargate 任务等)没有公共 IP 地址。
确保任何分支或派生代码可验证 JWT 中的签名者属性是否与服务所用应用程序负载均衡器的 ARN 相匹配。
参考
- ALB 文档特别指出,“为确保安全,您必须在基于声明进行任何授权之前先验证签名,并验证 JWT 头部中的签名者字段包含预期的应用程序负载均衡器 ARN。”
- Python 示例
- GitHub 安全公告
- CVE-2024-10125
我们要感谢 Miggo Security 通过协调披露流程就此问题展开合作。
如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com。