CVE-2024-23897 Jenkins unauthenticated attackers to read arbitrary files on the Jenkins controller file system

Severity: critical
CVSSv3 Score: 9.8
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mô tả: 
Jenkins có một bộ Command Line Interface tích hợp (CLI) để truy cập Jenkins từ script hoặc từ shell, và khi xử lý các CLI commands, Jenkins sử dụng thư viện args4j để trích xuất các arguments và options trên Jenkins controller. Trình phân tích cú pháp này có một tính năng thay thế ký tự @ theo sau là đường dẫn file (trong argument được cung cấp) - với nội dung của file. Tính năng này được bật theo mặc định và Jenkins 2.441 trở về trước, LTS 2.426.2 trở về trước không tắt tính năng này.
Khai thác điểm yếu này cho phép kẻ tấn công chưa được xác thực đọc các file bất kỳ trên file system của máy chủ Jenkins controller.
Cụ thể:

  • Attacker với quyền Overall/Read có thể đọc toàn bộ files.
  • Attacker không có quyền Overall/Read có thể đọc vài dòng đầu của files.


Nguy hiểm hơn, các file binary chứa khóa mật mã được sử dụng cho các tính năng khác nhau của Jenkins cũng có thể được đọc, tuy nhiên attacker sẽ gặp khó khăn hơn hoặc không thành công do một số hạn chế (chủ yếu do không đọc được binary data sử dụng character encoding mặc định). 
Việc biết được các khoá mật mã này kết hợp một vài điều kiện tấn công khác nhau có thể dẫn tới các nguy cơ tấn công với tác động nghiêm trọng tới hệ thống như:
 

  • Remote code execution qua Resource Root URLs, qua "Remember me" cookie hoặc qua tấn công XSS trong build logs, qua bypass CSRF protection
     
  • Giải mã khoá bảo mật 
     
  • Xoá item bất kỳ
     
  • Trích xuất Java heap dump … 


Hiện tại mã khai thác đã được công bố trên internet.

Sản phẩm bị ảnh hưởng:
Jenkins <= 2.441 
LTS <= 2.426.2


Sản phẩm không bị ảnh hưởng:
Phiên bản Jenkins 2.442, LTS 2.426.3 đã được vá lỗi và không bị ảnh hưởng.

Cách khắc phục: 
Sysadmin cần cập nhật ngay Jenkins lên phiên bản không bị ảnh hưởng: Jenkins 2.442, LTS 2.426.3.
Nếu không thể nâng cấp, sysadmin cần vô hiệu hóa quyền truy cập vào CLI để có thể ngăn chặn hoàn toàn việc khai thác.

Tham khảo:
https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314
https://nvd.nist.gov/vuln/detail/CVE-2024-23897  
https://github.com/h4x0r-dz/CVE-2024-23897