Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[Bug] Raise certifi >= 2026.10.19 and pip >= 26.2.2 to distrust the compromised eMudhra intermediates

Đang mở Phù hợp với người mới
#10,669 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@DOTBave đang làm issue này rồi.

Từ ngày 21/10/2026.

  • #10670 của @DOTBave — đang mở

Đá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
72/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, python
Lĩnh vực
devops, security

Hướng nghiên cứu

Trước tiên, hãy kiểm tra các phiên bản tối thiểu của certifi và pip trong pyproject.toml và requirements.txt, sau đó theo dõi cách các Docker image cài đặt những dependency này. Nâng các phiên bản tối thiểu lên phiên bản đã sửa được nêu trong issue và xác minh rằng quá trình cài đặt sạch giải quyết certifi = 2026.10.19 và pip = 26.2.2; cần xây dựng lại các image cũ để bao gồm bản sửa lỗi.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug
Description

AstrBot's declared minimum versions of certifi and pip are still vulnerable to the October 2026 eMudhra intermediate-CA compromise:

  • pyproject.toml / requirements.txt: certifi>=2025.4.26
  • pyproject.toml / requirements.txt: pip>=25.1.1

certifi versions before 2026.10.19 bundle the emSign ECC Root CA - G3 root. Eight eMudhra intermediate CAs chaining to that root had trivially recoverable P-384 private keys (d < 256), were revoked on 2026-10-18, and are blocked by browsers through OneCRL/CRLSet. Any client that trusts the root and does not enforce revocation can be MITM'd with a forged leaf certificate for an arbitrary hostname.

AstrBot loads the certifi bundle into its outbound SSL contexts (for example, runtime_bootstrap.py patches aiohttp's verified SSL context to the certifi-backed context, and io.py, zip_updater.py, plugin_service.py use certifi.where()). Plugin dependencies are installed with the in-process pip (pip_installer.py), and pip always adds its vendored certifi to certificate verification. With the current floors, environments can still resolve certifi < 2026.10.19 and pip < 26.2.2 (pip 26.2.2 is the first release that vendors certifi 2026.10.19).

Impact: an on-path attacker holding a compromised intermediate key can impersonate provider APIs (API keys and chat content) and plugin/update endpoints. Core, dashboard, and plugin ZIPs are downloaded over that TLS and executed after extraction, so the issue can escalate to code execution. Docker images built before 2026-10-19 keep the vulnerable certifi/pip baked in until rebuilt.

Reproduction Steps
  1. Install AstrBot v4.29.1 (or an older Docker image) in a clean environment.

  2. Check the resolved trust-store tooling:

    python -c "import certifi; print(certifi.__version__)"
    python -m pip --version
    

    Expected (fixed): certifi >= 2026.10.19 and pip >= 26.2.2.
    Affected environments report something like certifi 2026.7.22 and pip 26.2.1.

  3. Network-position check with the incident test host

    curl https://dv-g3b-emudhra.we-have-a-problem.com/
    

    A client with a vulnerable trust store completes the handshake; a fixed client returns a certificate error.

AstrBot Version

v4.29.1

Operating System

Linux

Deployment Method

Any

Message Platform Adapter

N/A

Error Log
No error is raised: the vulnerable trust store still validates a chain it should reject. Example from an affected environment:


$ python -c "import certifi; print(certifi.__version__)"
2026.7.22
$ python -m pip --version
pip 26.2.1 ...


A fixed environment reports `certifi 2026.10.19` and `pip 26.2.2`.
Supplementary Information

No response

Checklist
  • I have searched the Issue list for related issues and could not resolve the problem, or this issue has never been reported before.
  • I have tried disabling all plugins to rule out issues caused by plugins.
  • The issue I am reporting is related to AstrBot itself, not to a specific plugin.
  • I have read and agree to the project's Code of Conduct.
  • (Optional) I am willing to submit a PR to help fix this issue.
Ngôn ngữ chính
Python
Star
42.1k
Fork
3.1k
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
146

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của AstrBotDevs/AstrBot

Tất cả issue của AstrBotDevs/AstrBot

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.