VNG Cloud Logo

CVE-2022-42889 Text4shell Apache Commons Text RCE Vulnerability

CVSS v3: 9.8

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Severity: Critical

Status: Under Investigation

Mô tả:

Ngày 13 tháng 10 năm 2022, một lỗ hổng nghiêm trọng đã được tìm thấy trong các gói Apache Commons Text phiên bản từ 1.5 đến 1.9, lỗ hổng được đặt tên “Text4Shell” và được đánh dấu với CVE-2022-42889.  

Apache Commons Text là một thư viện tập trung vào các thuật toán làm việc trên chuỗi.

Các phiên bản bị ảnh hưởng cho phép kẻ tấn công khai thác quy trình “variable interpolation” có trong Apache Commons Text, có thể khiến các máy chủ bị khai thác thực thi mã từ xa (RCE).

Attacker có thể khai thác lỗ hổng bằng cách đưa các input đầu vào độc hại chứa các đoạn code khai thác, có thể kích hoạt:

  • DNS request
  • Gọi tới một remote URL
  • Thực thi mã trên server

Các hành động trên sẽ được thực thi trên máy chủ chạy ứng dụng bị ảnh hưởng và có thể kéo mã nguồn từ các nguồn bên ngoài hoặc nhúng các đoạn mã thực thi tùy ý trên server.

Hiện tại đã có PoC (Proof of Concept) khai thác lỗ hổng trên github. Tuy nhiên, lỗ hổng vẫn đang được phân tích bở NIST, thông tin chi tiết về mức độ nghiêm trọng và phạm vi khai thác vẫn chưa rõ ràng và có thể thay đổi.

Điều kiện bị ảnh hưởng:

  • Ứng dụng Java có sử dụng thư viện Apache Commons Text phiên bản 1.5-1.9  
  • Mã nguồn có sử dụng lớp “StringSubstitutor” để thực hiện “variable interpolation”
  • Có cơ chế nhận đầu vào và chuyển nó vào lớp “StringSubstitutor”

Thêm vào đó, theo nghiên cứu của Rapid7, lỗ hổng chỉ hoạt động trên một số phiên bản JDK (1.8.0_341, 9.0.4, 10.0.2. 11.0.16.1, 12.0.2, 13.0.2, 14.0.2) trong khi không bị khai thác thành công trên các phiên bản JDK khác (15.0 .2, 16.0.2, 17.0.4.1, 18.0.2.1, 19).

Cách khắc phục:  

Phương pháp an toàn nhất được khuyến nghị cho system admin là nâng cấp Apache Commons Text tới phiên bản 1.10.0 (https://commons.apache.org/proper/commons-text/download_text.cgi).

Nếu chưa thể cập nhật lên phiên bản này, sysadmin có thể thực hiện kiểm tra hệ thống và vá lỗi tạm thời theo hướng dẫn ở https://github.com/jfrog/text4shell-tools để đảm bảo an toàn cho hệ thống.

Tham khảo:

https://nvd.nist.gov/vuln/detail/CVE-2022-42889

https://github.com/jfrog/text4shell-tools

https://www.docker.com/blog/security-advisory-cve-2022-42889-text4shell/

https://access.redhat.com/security/cve/cve-2022-42889

https://github.com/SeanWrightSec/CVE-2022-42889-PoC  

https://www.rapid7.com/blog/post/2022/10/17/cve-2022-42889-keep-calm-and-stop-saying-4shell/  

https://www.rapid7.com/blog/post/2022/10/17/cve-2022-42889-keep-calm-and-stop-saying-4shell/