Nếu doanh nghiệp của bạn lưu image Docker riêng trong một registry tự vận hành, hãy dừng lại và kiểm tra xem đó có phải Red Hat Quay không. Một lỗ hổng Red Hat Quay mới công bố cho phép kẻ tấn công đọc và ghi đè image trong mọi kho, kể cả khi đã tắt truy cập ẩn danh. Hậu quả không dừng ở registry: image bị ghi đè sẽ lan sang mọi máy chủ kéo image đó về chạy.

Theo bài của The Hacker News đăng ngày 12/11/2026, Red Hat đã phát hành bản vá cho tám nhánh Quay 3. Dưới đây là những gì đã biết và những việc đội kỹ thuật nên kiểm tra.

Chìa khoá do kẻ tấn công tự thêm vào

Lỗ hổng được gán mã CVE-2026-123710, điểm CVSS 9,8. Quay dùng một tập khoá tin cậy để ký các token cho phép đẩy và kéo image. Kẻ tấn công có thể thêm khoá của riêng mình vào tập này, không có ngày hết hạn, rồi tự ký token hợp lệ cho bất kỳ kho nào.

Nguyên nhân nằm ở máy chủ quản lý khoá. Nó kiểm tra token có do khoá tin cậy ký, có đúng đối tượng và bên phát hành, nhưng không kiểm tra token đó có được cấp cho việc xoay khoá hay không. Token ẩn danh lấy từ endpoint /v2/auth vẫn vượt qua, và người gọi tự chọn audience.

Vì khoá giả nằm lại sau khi khởi động lại, đổi mật khẩu hay đổi robot token, việc dọn dẹp bề mặt không đủ. Kẻ tấn công còn có thể xoá khoá mà các instance đang chạy dùng, khiến mọi thao tác push/pull báo lỗi xác thực.

Image bị ghi đè là cửa vào cho cả hệ thống

Có hai rủi ro tách biệt. Thứ nhất là lộ dữ liệu: image riêng thường chứa file cấu hình, khoá API hoặc thông tin đăng nhập bị bỏ quên trong lớp image. Thứ hai là chuỗi cung ứng: một image bị thay thế sẽ được kéo về bởi pipeline CI/CD và các máy chủ triển khai, mang mã độc đi theo.

Red Hat nhấn mạnh việc tắt truy cập ẩn danh không bảo vệ được bạn; khi tắt, bất kỳ tài khoản hợp lệ nào vẫn khai thác được. Bất kỳ instance Quay nào mà client không tin cậy với tới được đều có nguy cơ, kể cả registry nội bộ.

Lỗ hổng thứ hai: đánh cắp robot token giữa các tenant

Cùng đợt công bố còn có CVE-2026-110697 (CVSS 9,9). Mã liệt kê robot account dựng câu SQL LIKE từ tên namespace mà không escape ký tự đại diện. Trong LIKE, dấu gạch dưới khớp với một ký tự bất kỳ, nên một namespace có gạch dưới đặt đúng chỗ có thể khớp namespace của tenant khác và trả về robot token đã giải mã.

Người tấn công chỉ cần quyền tạo namespace. Với Quay làm registry tích hợp cho OpenShift, token bị đánh cắp có thể dùng để chèn image độc hại vào pipeline CI/CD.

Bài học chung cho đội lập trình: đừng ghép dữ liệu người dùng vào mẫu LIKE mà không escape, hoặc dùng cách so khớp chính xác khi cần định danh.

Cách kiểm tra và xử lý trong hôm nay

Phạm vi ảnh hưởng theo Red Hat là mọi bản Quay 3 và Quay 5. Nếu bạn không dùng Quay, vẫn nên đối chiếu quy trình bên dưới với registry mình đang dùng. Với Quay, làm theo thứ tự sau:

  1. Tại reverse proxy hoặc load balancer, chặn endpoint /keys với mọi nguồn trừ các thành phần nội bộ tin cậy.
  2. Tìm trong audit log các sự kiện service_key_rotate và service_key_delete có expiration_date rỗng.
  3. Gỡ mọi service key đã được duyệt mà bạn không nhận ra.
  4. Cài bản phát hành đã vá. Khi chưa nâng cấp, kẻ tấn công vẫn thêm lại khoá theo cách cũ, nên xoá khoá một lần không bền.

Với CVE-2026-110697, trong lúc chờ nâng cấp, Red Hat gợi ý hạn chế ai được tạo organization hoặc namespace có dấu gạch dưới, xoay robot token của các namespace khớp với namespace có gạch dưới, và theo dõi các lượt pull/push bất thường. Các bước này chỉ giảm rủi ro, chỉ bản vá mới xử lý triệt để.

Lưu ý: bài báo ghi nhận trang CVE của Red Hat tại thời điểm kiểm tra vẫn hiển thị một số thông tin chưa đồng bộ với các advisory, nên hãy đối chiếu trực tiếp số hiệu bản vá trên advisory của từng nhánh trước khi nâng cấp.

Kiểm tra cả những registry không phải Quay

Dù bạn dùng registry nào, vụ này gợi ra vài câu hỏi đáng hỏi lại:

  • Registry có mở ra Internet hoặc cho client không tin cậy với tới không, và có cần thiết không?
  • Image riêng có chứa khoá, mật khẩu hay file .env không? Có thể quét bằng công cụ phát hiện bí mật trong image, và nên coi mọi bí mật từng nằm trong image là đã lộ nếu registry bị xâm nhập.
  • Pipeline có ghim image theo digest thay vì tag không? Ghim digest giúp phát hiện khi tag bị ghi đè.
  • Ai có quyền tạo namespace hoặc tổ chức, và quyền đó có cần mở rộng như vậy?

Vấn đề khoá và token nằm sai chỗ cũng từng gây ra các sự cố khác; bạn có thể đọc thêm trong bài về vụ chiếm 4.837 tài khoản GitHub để lấy bí mật CI/CD. Nếu máy chủ của bạn chạy ứng dụng Node.js, đừng bỏ qua đợt vá 16 lỗ hổng của Node.js công bố gần đây.

Nếu bạn muốn rà soát quy trình build, lưu trữ image và triển khai cho hệ thống đang chạy, hãy xem các dự án Besoft đã thực hiện rồi trao đổi với đội kỹ thuật về phạm vi cần kiểm tra.

Nguồn tham khảo

  • The Hacker News, "Critical Red Hat Quay Flaw Lets Attackers Read and Overwrite All Private Container Images in a Registry", 12/11/2026: https://thehackernews.com/2026/11/critical-red-hat-quay-flaw-lets.html