CVE-2026-91039 in ash_authentication
Tóm tắt
Bởi VulDB • 17/09/2026
Lỗ hổng Bỏ qua Xác thực bằng cách Giả mạo (Authentication Bypass by Spoofing) trong ash_authentication của team-alembic cho phép kẻ tấn công, người vận hành một kết nối nhà cung cấp danh tính (identity-provider connection) thuộc chiến lược dynamic_oidc, đăng nhập với tư cách là người dùng cục bộ được thiết lập thông qua một kết nối khác.
Chiến lược này nhằm mục đích giữ mỗi kết nối trong không gian tên định danh riêng bằng cách ghi trường strategy của mọi hàng UserIdentity dưới dạng "<name>/<connection_id>", nhưng việc phân vùng theo namespace đó không bao giờ có hiệu lực. __connection_id__ chỉ được điền vào cấu trúc runtime tạm thời (ephemeral) được xây dựng cho từng yêu cầu trong dynamic_oidc/plug.ex, và DynamicOidc.IdentityChange.change/3 lấy lại chiến lược từ DSL tại thời điểm biên dịch thông qua Info.strategy_for_action, trả về cấu trúc đã lưu trữ có __connection_id__ là giá trị mặc định của defstruct (nil). Do đó, OAuth2.identity_strategy_name/1 sẽ chuyển sang sử dụng tên chiến lược cơ bản cho cả việc ghi danh tính và các lần đọc trong oauth2/user_resolver.ex cũng như oauth2/sign_in_preparation.ex. Vì khóa duy nhất của tài nguyên danh tính là (uid, strategy), nên chỉ có một hàng tồn tại trên mỗi sub across mọi kết nối, và nhánh khớp danh tính chạy trước bất kỳ kiểm tra email nào. Không chiến lược nào xử lý iss, do đó không có gì khác biệt để phân biệt các nhà phát hành: phần 5.7 của OpenID Connect Core quy định rằng sub chỉ là duy nhất trong phạm vi một issuer, vì vậy hai kết nối đánh số các subject độc lập chia sẻ chung một không gian subject.
Vấn đề này ảnh hưởng đến ash_authentication: từ phiên bản 5.0.0-rc.10 trước 5.0.0-rc.14.
If you want to get best quality of vulnerability data, you may have to visit VulDB.