Mozilla đã hủy bỏ khóa mã hóa đứng sau các bản tải xuống Firefox và Thunderbird cho Linux sau khi một bản sao không mã hóa của nó bị đẩy nhầm vào một trong các kho lưu trữ mã nguồn riêng tư của công ty.
Khóa đó là cách người dùng, hoặc một bản phân phối Linux đóng gói trình duyệt, xác nhận rằng tệp tarball Firefox đã tải xuống đến từ Mozilla và không bị can thiệp.
Quyết định này mang lại một cái giá cho bất kỳ ai kiểm tra những gì họ tải xuống: các tệp được ký bằng khóa cũ sẽ không còn xác minh được nữa sau khi người dùng nhập bản thu hồi. Điều này bao gồm các bản tải xuống Firefox và Thunderbird cũ hơn, không chỉ các bản trong tương lai.
Cho đến nay, không có bằng chứng nào cho thấy bất kỳ ai bên ngoài công ty có được khóa này. Kho lưu trữ là riêng tư, nhà sản xuất trình duyệt cho biết việc xem xét các hồ sơ kiểm tra có sẵn không tìm thấy dấu hiệu truy cập trái phép và mọi người có thể nhìn thấy nó đều đã có quyền truy cập hợp lệ. Dù vậy, Mozilla vẫn tiến hành thu hồi.
Hầu hết người dùng Firefox và Thunderbird không cần làm gì cả. Có hai nhóm thì cần. Bất kỳ ai kiểm tra chữ ký bằng tay phải nhập khóa mới cùng với bản thu hồi cho khóa cũ. Bất kỳ ai cài đặt Firefox từ các gói RPM của Mozilla có thể gặp lỗi cập nhật và phải thay đổi khóa theo cách thủ công.
Khóa phụ thay thế, được công bố vào thứ Hai, có vân tay (fingerprint) là 827E 6586 0867 9618 CD34 9F93 678E 455D 7676 7AA3 và có giá trị đến ngày 5 tháng 8 năm 2028.
Tầm quan trọng của việc thu hồi khóa GPG
OpenPGP cho phép chủ sở hữu khóa đính kèm lý do máy có thể đọc được để thu hồi nó, và RFC 4880 giải thích rõ tại sao điều đó lại quan trọng: một khóa bị thay thế hoặc ngừng sử dụng vẫn giữ cho các chữ ký trong quá khứ của nó có hiệu lực, trong khi một khóa bị thu hồi do bị xâm phạm sẽ khiến mọi chữ ký mà nó từng tạo ra trở nên đáng ngờ.
The Hacker News đã giải mã chứng chỉ thu hồi được công bố cùng với khóa mới và tìm thấy mã lý do 2, "tài liệu khóa đã bị xâm phạm", được tạo vào lúc 11:14 UTC ngày 6 tháng 8 năm 2026 với ghi chú "Chúng tôi không còn tin tưởng khóa này nữa". Tường thuật của chính Mozilla về sự cố này không khẳng định khóa đã bị lấy đi.
Đây là một đợt thu hồi khóa phụ (subkey), được ký bởi khóa chính 14F26682D0916CDD81E37B6D61B7B526D98F0353, khóa này vẫn được giữ nguyên. Mã lý do 2, thay vì bản thân việc xoay vòng khóa, là thứ khiến các bản tải xuống cũ hơn không thể xác minh, một tác động mà bài đăng của Mozilla mô tả nhưng chỉ quy cho bản chất của việc ký GPG.
Lịch trình xoay vòng khóa sớm hơn dự kiến
Việc thay đổi này cũng diễn ra sớm hơn khoảng bảy tháng. Công ty thường xoay vòng khóa phụ này khoảng hai năm một lần, nhằm đề phòng rò rỉ mà họ không bao giờ biết được. Khóa phụ bị thu hồi, 09BE ED63 F346 2A2D FFAB 3B87 5ECB 6497 C1A2 0256, được công bố vào tháng 4 năm 2025, lẽ ra có thời hạn đến tháng 3 năm 2027.
Chúng tôi cũng đã kiểm tra toàn bộ khóa công khai được giữ trong kho lưu trữ ký riêng của Mozilla và tìm thấy năm khóa phụ ký trước đó có từ năm 2015, tất cả đều ngừng hoạt động do hết hạn. Đây là lần thu hồi đầu tiên đối với khóa này.
Hướng dẫn xử lý cho người dùng Linux
Về phía RPM, dnf trên một số bản phân phối sẽ tự xử lý việc thay đổi, tải khóa cập nhật ở lần cập nhật tiếp theo và yêu cầu người dùng xác nhận vân tay. Ở những nơi khác, nó thất bại hoàn toàn, báo cáo rằng việc nhập khóa không giúp ích gì, hoặc các khóa kho lưu trữ đã cài đặt không đúng với gói.
Khóa cũ phải được gỡ bỏ trước, vì rpm --import có thể báo cáo thành công trong khi vẫn để lại khóa cũ lỗi thời:
sudo rpm -e --allmatches gpg-pubkey-14f26682d0916cdd81e37b6d61b7b526d98f0353 sudo rpm --import https://packages.mozilla.org/rpm/firefox/signing-key.gpg sudo dnf clean all
Thunderbird không xuất bản các gói RPM chính thức, vì vậy bước đó không áp dụng. Người dùng openSUSE chạy hai lệnh rpm tương tự, sau đó là zypper refresh.
Mozilla chưa cho biết kho lưu trữ nào chứa khóa, nó đã nằm ở đó bao lâu hoặc nó được phát hiện như thế nào, và cũng không mô tả các biện pháp bảo vệ mà họ nói rằng đã thêm vào. Họ cũng không nói gì về kho lưu trữ APT phục vụ người dùng Debian và Ubuntu, vốn sử dụng một khóa khác, và định dạng .deb không nằm trong số các định dạng bị ảnh hưởng.
Tiết lộ này được đưa ra một tuần sau khi những kẻ tấn công chiếm đoạt tài khoản GitHub đứng sau các gói npm keyv và cacheable, đồng thời xuất bản một worm được thiết kế để thu thập tài liệu kho lưu trữ, registry, cloud và khóa riêng tư từ máy tính của nhà phát triển và các hệ thống CI.