security(server): /api/tunnels/check-availability 是唯一未认证的隧道存在性 oracle——可匿名枚举全部隧道名单
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 80/100
Hướng nghiên cứu
Đọc python/tunely/server.py:1336-1342, nơi check_availability được khai báo mà không có đối số api key, và so sánh với các admin endpoint được gate tại :1320-1432 để thấy pattern _check_admin_api_key mà chúng chia sẻ; logic rò rỉ là _check_availability tại :1563-1591, trả về "Domain already exists". Gate route theo cùng cách và kiểm tra xem lời gọi precheck của frontend có cần chuyển sang đường dẫn creation conflict (409) không. Hoàn thành khi một lời gọi ẩn danh đến /api/tunnels/check-availability bị từ chối và frontend vẫn giải quyết creation conflict một cách chính xác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无
基线 HEAD = 020dec3。
Summary
python/tunely/server.py:1336-1342:路由签名async def check_availability(name: str)没有 api key 参数、不调用_check_admin_api_key,直接返回available/reason;同文件其余管理端点全部带 key(:1320-1432)。(已亲读确认。)_check_availability(:1563-1591)对已存在域名返回"reason": "Domain already exists"——即匿名者可用它爆破(dsh/plait/gz 等前缀)枚举全部已存在隧道。
影响
PROBE_HARDENING 专门把 /health 的隧道计数摘掉(T3:活跃隧道数是 oracle),这条端点把整份名单留成匿名可枚举,为针对性攻击/社工提供目标;也是唯一匿名触达 DB 的端点(可当低成本 DB 探测器)。
建议
与 /api/tunnels 同门控(_check_admin_api_key);确需公开则改常量响应(前端预检改由创建冲突时 409 承担)。
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Merge trung bình
- 2 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
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 jeffkit/tunely
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 87/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
fix(release): 发布链 fail-open(缺 secret 时 Actions 绿但什么都没发)+ PyPI 上的 0.10.0 恰是 /forward 无鉴权的安全缺口版本Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 34/100
Tất cả issue của jeffkit/tunely
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
micropython/micropython#19906 ·
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 82/100
FinanceFlash/unvibecode#597 ·
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
TomAnthony/YourOwnWeigh#21 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG]: Compliance rules never see Unity Catalog views as viewsCó thể đã có người làm @wagnercsantos đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
databrickslabs/ontos#1348 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Deprecated datetime.utcnow() is called on every log line (DeprecationWarning on Python 3.12+)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày