TL;DR

Ngày 21/04/2026, GitHub công bố CVE-2026-4821 — lỗ hổng command injection (CWE-78) trong Management Console của GitHub Enterprise Server (GHES). Một Management Console admin đã xác thực có thể chèn shell metacharacter vào các trường proxy config (ví dụ http_proxy) qua configuration API để thực thi lệnh tuỳ ý trên appliance với quyền admin OS user. CVSS 8.1 HIGH. Đã được sửa trong GHES 3.20.1 cùng 6 bản patch nhánh cũ. Lỗ hổng do researcher Seokchan Yoon báo cáo qua GitHub Bug Bounty.

Điều gì vừa xảy ra

Seokchan Yoon — researcher đã tweet xác nhận mình là người phát hiện — công bố rằng CVE-2026-4821 cuối cùng đã được GitHub disclose công khai. Bug class khá cổ điển: Management Console configuration API không sanitize đúng input cho các proxy config field. Khi admin submit giá trị chứa ký tự shell như ;, &&, | hay backtick, backend sẽ nối vào shell command và thực thi — kết quả là arbitrary OS command execution trên appliance, chạy với quyền admin OS user.

Patch được đóng gói trong release 3.20.1 ngày 21/04/2026, đồng thời backport về toàn bộ các nhánh còn được support: 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, và 3.14.26.

Vì sao nên quan tâm

Management Console là "cửa sau" admin của GHES — nó quản lý network config, SSL, proxy, authentication source, v.v. Một RCE ở đây biến quyền "quản lý cấu hình" (đã mạnh) thành quyền root-level trên host, mở rộng blast radius từ config plane sang toàn bộ appliance: đọc repo data, trích xuất SSH key, pivot vào mạng nội bộ.

Tin tốt: exploit yêu cầu High privileges — phải có quyền Management Console admin hợp lệ. EPSS chỉ 0.01%, nghĩa là không có nguy cơ mass-exploit trên Internet. Tin xấu: một tài khoản admin bị phish hoặc một insider có thể biến lỗi config injection thành full host takeover, khó phát hiện nếu không audit log.

Technical facts

PropertyValue
CVE IDCVE-2026-4821
CVSS 4.08.1 HIGH
VectorCVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
CWECWE-78 (OS Command Injection)
EPSS0.01% (Low Risk)
Attack vectorLocal, High privileges, No user interaction
Entry pointManagement Console configuration API, proxy fields (http_proxy, https_proxy, no_proxy)
ReporterSeokchan Yoon (via GitHub Bug Bounty)
Reserved2026-03-25
Published2026-04-21

Phiên bản bị ảnh hưởng & đã patch

Tất cả bản GHES từ 3.14.0 đến 3.20.0 đều dính. Không ảnh hưởng GitHub.com SaaS hay GitHub Enterprise Cloud (khác codebase).

NhánhBản vá
3.20.x3.20.1
3.19.x3.19.5
3.18.x3.18.8
3.17.x3.17.14
3.16.x3.16.17
3.15.x3.15.21
3.14.x3.14.26

Comparison — không chỉ một CVE

3.20.1 là bản vá "đông dân" — fix cùng lúc 7 CVE được GitHub Bug Bounty báo cáo. Đáng chú ý:

  • CVE-2026-5845 (HIGH) — scoped user-to-server token (ghu_) vẫn truy cập được private repo sau khi GitHub App installation bị revoke/delete, do authorization layer fallback sai về global installation context.
  • CVE-2026-5921 (HIGH) — timing side-channel + SSRF trên notebook rendering service, cho phép attacker rút env var từng ký tự khi private mode tắt.
  • CVE-2026-4296 (HIGH) — regex match sai URL callback OAuth, cho phép chiếm tài khoản nếu biết callback URL của app.
  • CVE-2026-1999 (HIGH) — attacker không có write access có thể self-merge PR của chính mình vào repo cho phép fork, do lỗi auth check ở enable_auto_merge mutation (chỉ áp dụng branch không bật branch protection).

Trong đó, CVE-2026-4821 là duy nhất thuộc lớp "post-auth RCE trên appliance" — tức đòn đánh chí mạng nhất nếu một admin credential bị lộ.

Kịch bản đe doạ thực tế

Với yêu cầu PR:H, mass-scan Internet không phải concern chính. Các kịch bản thực tế:

  • Insider threat: nhân viên DevOps có Management Console access rời công ty trong mâu thuẫn — trước đó "cài" một payload trong proxy config để mở backdoor sau này.
  • Phishing ops team: attacker phish credential của một admin, escalate từ "đổi config" (có thể bị phát hiện) sang full host shell (im lặng hơn, dễ persist).
  • Second-stage post-compromise: đã vào được network nội bộ qua VPN/phishing, dùng bug này để biến một console admin account thành foothold root-level trên GHES appliance, từ đó rút source code, SSH key, secret của toàn tổ chức.

Mitigation & pricing

Patch miễn phí, nằm trong standard GHES support. Checklist cho admin:

  1. Upgrade ngay lên bản vá tương ứng nhánh đang chạy (xem bảng trên).
  2. Rotate Management Console credential nếu có nghi ngờ bị lộ.
  3. Audit history config proxy: tìm ký tự lạ ;, |, &, backtick trong http_proxy, https_proxy, no_proxy.
  4. Review system log tìm process lạ chạy dưới admin OS user.
  5. Restrict network access vào Management Console (port 8443) — chỉ cho phép từ trusted admin network, không expose Internet.
  6. Enable MFA cho Management Console nếu chưa.

Không có public PoC / exploit code nào được công bố tính đến 22/04/2026.

What's next

GHES 3.21 đang trong roadmap GitHub sẽ carry bản fix natively — enterprise đang chuẩn bị nâng cấp thẳng lên 3.21 có thể bỏ qua bản patch branch. Về lớp lỗ hổng, "config field → shell command injection" là pattern tái diễn trong các appliance có admin console (GHES đã có tiền lệ trong các version cũ). Kỳ vọng bug bounty tiếp tục soi kỹ các configuration API surface.

Nguồn: THREATINT CVE record, GHES 3.20 release notes, TheHackerWire, Seokchan Yoon disclosure.