Validate OAuth login redirects before using them in headers
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- authentication, backend, security
Hướng nghiên cứu
Start at the OAuth entry point where quart.request.args.get("login") is prefix-validated, then trace the value through pending_states to the Refresh response header. Determine the framework-level validation needed before storage and confirm that safe redirects continue to work while CRLF, null bytes, and other header-injection characters are rejected.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The login_uri query parameter is validated to start with / and not //, but is not checked for CRLF sequences, null bytes, or other header-injection characters before being stored in pending_states and later interpolated into the Refresh HTTP response header. While the ASGI server (Hypercorn) sanitizes header values as a secondary defense, the framework itself does not validate this value for the specific context in which it is used (an HTTP header).
Data flow: quart.request.args.get("login") → prefix validation (only) → stored in pending_states → interpolated into Refresh header → response
Attacker capability required: Remote unauthenticated user (can initiate an OAuth login flow with a crafted login parameter).
Impact on success: In the default deployment, Hypercorn rejects CRLF in header values, so no actual header injection occurs. This is a defense-in-depth gap: if the ASGI server were changed or misconfigured, the unsanitized value could enable HTTP response splitting.
- Ngôn ngữ chính
- Python
- Star
- 7
- Fork
- 14
- Merge trung bình
- 11 giờ 58 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/infrastructure-asfquart
-
Set connection and total timeouts for OAuth token exchangeCó thể đã có người làm @AnKiT-GaRG2 đã nhận 2 ngày trước. Đang mởbug priority
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/infrastructure-asfquart#130 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Document external service endpoints and failure behaviorCó thể đã có người làm @AnKiT-GaRG2 đã nhận 6 ngày trước. Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
apache/infrastructure-asfquart#129 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Document OAuth callback consistency rulesCó thể đã có người làm @Marrshal15 đã nhận 24 ngày trước. Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
apache/infrastructure-asfquart#126 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ASVS priority
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
apache/infrastructure-asfquart#85 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Triage and track asfquart issuesCó thể đã có người làm @sbp đã nhận 23 ngày trước. Đang mở
apache/infrastructure-asfquart#134 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/infrastructure-asfquart
Issue tương tự
-
area/profiles comp/cli P3 type/feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
NousResearch/hermes-agent#146372 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistenciesCó thể đã có người làm @github-actions đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
GeoSeries scale and skew tests fail with pytest 9.2.0Có thể đã có người làm @jiayuasu đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
admission-deferred priority: medium status: ready work-class: scoped
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
melodic-software/claude-code-plugins#10887 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày