Cảnh báo khẩn cấp: Lỗ hổng CVE Gitea tiềm ẩn RCE

Cảnh báo khẩn cấp: Lỗ hổng CVE Gitea tiềm ẩn RCE
CLOUD HOSTING
DỊCH VỤ
VPS • CLOUD • SERVER
Hiệu năng cao
Ổn định • Bảo mật • Tốc độ
☁️
SSD NVMe 99.9% 24/7
TÌM HIỂU NGAY

Một lỗ hổng CVE nghiêm trọng đã được phát hiện trong Gitea, định danh là CVE-2026-59774, cho phép kẻ tấn công từ xa không cần xác thực đọc các tệp tùy ý từ các máy chủ dễ bị tổn thương. Lỗ hổng này tiềm ẩn khả năng leo thang tấn công để chiếm quyền thực thi mã từ xa (remote code execution). Sự cố ảnh hưởng đến các phiên bản Gitea từ 1.22.1 đến 1.27.0 và đã được khắc phục trong phiên bản 1.27.1.

Phân Tích Lỗ Hổng CVE-2026-59774 trong Gitea

Lỗ hổng này được ghi nhận với mã GHSA-6v53-hr58-556r và được đánh giá mức độ nghiêm trọng là Critical. Theo hệ thống tính điểm CVSS v3.1, nó có vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Chỉ số này chỉ ra rằng việc khai thác có thể thực hiện từ xa, không yêu cầu tài khoản hay tương tác của người dùng, và có thể làm lộ dữ liệu mật, tổn hại tính toàn vẹn và khả năng sẵn sàng của hệ thống. Đây là một lỗ hổng CVE đáng báo động.

Cảnh báo CVE này nhấn mạnh rằng kẻ tấn công không cần có quyền ghi vào kho lưu trữ hoặc tài khoản Gitea được xác thực. Khi kho lưu trữ là công khai và đơn vị mã của nó được kích hoạt, người dùng ẩn danh có thể truy cập tuyến này, tạo điều kiện cho việc khai thác dễ dàng hơn. Điều này làm tăng rủi ro bảo mật do tính chất không cần xác thực của cuộc tấn công.

Cơ Chế Khai Thác Lỗ Hổng Đọc Tệp Tùy Ý

Lỗ hổng nằm trong tính năng kết xuất đánh dấu (markup-rendering) của Gitea. Kẻ tấn công có thể gửi một yêu cầu được tạo sẵn đến điểm cuối POST /{owner}/{repo}/markup của một kho lưu trữ công khai phù hợp. Điểm mấu chốt là cách Gitea xử lý các tệp định dạng Org-mode.

Kẻ tấn công có thể chọn chế độ kết xuất tệp và gửi nội dung Org-mode với tên tệp kết thúc bằng phần mở rộng .org. Trình kết xuất Org-mode sẽ xử lý chỉ thị #+INCLUDE, có thể trỏ đến một đường dẫn tệp tuyệt đối trên hệ thống. Đây chính là điểm yếu mà kẻ tấn công lợi dụng để đọc các tệp không mong muốn.

Trong các phiên bản bị ảnh hưởng, Gitea khởi tạo thư viện go-org mà không thay thế hàm gọi lại đọc tệp mặc định của nó. Thư viện cơ bản này chấp nhận đường dẫn được cung cấp và đọc trực tiếp tệp đó, sử dụng các quyền truy cập tệp của hệ điều hành. Điều này có nghĩa là bất kỳ tệp nào mà tài khoản dịch vụ Gitea có quyền đọc đều có thể bị truy xuất bởi kẻ tấn công, gây ra nguy cơ rò rỉ thông tin.

Tác Động Và Nguy Cơ Chiếm Quyền Điều Khiển

Kết quả là, kẻ tấn công có thể truy xuất các tệp nhạy cảm mà tài khoản dịch vụ Gitea có thể đọc được. Các mục tiêu có giá trị cao bao gồm tệp cấu hình app.ini, siêu dữ liệu triển khai, thông tin xác thực OAuth, các khóa bí mật liên quan đến JWT, cài đặt cơ sở dữ liệu và các tài liệu ứng dụng khác có thể truy cập cục bộ.

GitHub Advisory phân loại lỗ hổng CVE này là CWE-22 (path traversal), một loại lỗi phổ biến trong đó kẻ tấn công có thể truy cập các tệp và thư mục vượt ra ngoài thư mục dự kiến. Cảnh báo còn chỉ ra rằng lỗi này có thể dẫn đến thực thi mã từ xa (remote code execution) nếu kẻ tấn công sử dụng mã thông báo nội bộ (INTERNAL_TOKEN) bị lộ để chèn một Git hook độc hại. Chi tiết về lỗ hổng được cung cấp trên GitHub Security Advisory.

Git hook độc hại sau đó có thể chạy khi người dùng ẩn danh sao chép một kho lưu trữ, thực thi các lệnh do kẻ tấn công kiểm soát với các quyền của người dùng hệ điều hành Gitea. Đây là một rủi ro bảo mật nghiêm trọng có thể dẫn đến việc chiếm quyền điều khiển hoàn toàn máy chủ hoặc thực thi remote code execution, gây ra hậu quả thảm khốc cho hệ thống.

Khuyến Nghị Bảo Mật Và Biện Pháp Khắc Phục

Các quản trị viên Gitea cần ngay lập tức nâng cấp tất cả các triển khai bị ảnh hưởng lên phiên bản 1.27.1 hoặc bản phát hành được vá lỗi mới hơn để khắc phục lỗ hổng CVE này. Việc cập nhật bản vá là bước quan trọng nhất để khắc phục triệt để lỗ hổng này, đảm bảo an toàn cho hệ thống.

Các nhóm bảo mật cũng nên xem xét nhật ký (logs) để tìm các yêu cầu bất thường đến các điểm cuối đánh dấu kho lưu trữ, đặc biệt là các yêu cầu sử dụng kết xuất Org-mode, tên tệp .org hoặc các chỉ thị #+INCLUDE đáng ngờ. Việc giám sát này có thể giúp phát hiện các nỗ lực khai thác hoặc xâm nhập sớm.

Sau khi vá lỗi, các tổ chức nên xoay vòng các thông tin xác thực có thể đã bị lộ. Điều này đặc biệt quan trọng đối với các mã thông báo nội bộ (internal tokens), bí mật OAuth, khóa JWT, mật khẩu cơ sở dữ liệu và thông tin xác thực tích hợp được lưu trữ trong tệp app.ini. Thực hiện các bước này sẽ giúp giảm thiểu hậu quả nếu thông tin nhạy cảm đã bị truy cập và củng cố bảo mật tổng thể.