發布日期:2024/10/21 4:00 PM PDT
描述:
Amazon.ApplicationLoadBalancer.Identity.AspNetCore 儲存庫包含可與 Application Load Balancer (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 簽章,從而讓意圖不軌者能模仿有效的 OIDC 聯合工作階段來存取 ALB 目標。
受影響的版本:所有版本
解決方案
該儲存庫/套件已遭停用,生命週期已結束,並且不再受到主動支援。
解決方法
作為安全最佳實務,請確保 ELB 目標 (例如 EC2 執行個體、Fargate 任務等) 沒有公用 IP 位址。
請確保任何分叉或衍生程式碼都驗證 JWT 中的簽署者屬性是否與該服務經設定使用的 Application Load Balancer ARN 相符。
參考資料
- ALB 文件特別指出「為了確保安全性,您必須在根據聲明進行任何授權之前驗證簽章,確保 JWT 標頭中的簽章者欄位包含預期的 Application Load Balancer ARN。」
- Python 範例
- GitHub 安全建議
- CVE-2024-10125
我們誠摯感謝 Miggo Security 透過充分協調的披露程序,與我們協作解決此問題。
如有任何安全問題或疑慮,請傳送電子郵件至 aws-security@amazon.com。