Khẩn cấp: Cảnh báo lỗ hổng thực thi mã Spring4Shell trong Java framework

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Khẩn cấp: Cảnh báo lỗ hổng thực thi mã Spring4Shell trong Java framework

Cập nhật ngày 31/03/2022​

Spring Framework đã phát hành một bản vá khẩn cấp để giải quyết lỗ hổng thực thi mã từ xa Spring4Shell mới được tiết lộ. Lỗ hổng được gán mã định danh là CVE-2022-22965 với điểm CVSS là 9,8/10. Nhà cung cấp cũng bổ sung những phiên bản bị ảnh hưởng, bao gồm các phiên bản Spring Framework 5.3.0 đến 5.3.17, 5.2.0 đến 5.2.19 và các phiên bản cũ hơn không còn được hỗ trợ. Người dùng nên nâng cấp lên phiên bản 5.3.18 trở lên và 5.2.20 trở lên để không bị khai thác bởi tin tặc.

Một lỗ hổng zero-day trong Spring Core Java framework có tên là 'Spring4Shell' vừa được công bố, được các nhà nghiên cứu đánh giá ở mức độ nghiêm trọng cao, khai thác thành công cho phép thực thi mã từ xa không cần xác thực trên các ứng dụng bị ảnh hưởng.

anh-whitehat-vn (1).png

Spring là một framework ứng dụng rất phổ biến cho phép các nhà phát triển phần mềm nhanh chóng và dễ dàng phát triển các ứng dụng Java với các tính năng cấp doanh nghiệp.

Lỗ hổng thực thi mã từ xa trong Spring Core đặc biệt nghiêm trọng được lan truyền trên dịch vụ trò chuyện QQ và một trang web an ninh mạng của Trung Quốc. Chi tiết về lỗ hổng zero-day này đã được tiết lộ nhưng ngay lập tức bị xóa bỏ mà không rõ lý do.

Tuy nhiên các nhà nghiên cứu đã kịp tải xuống các mã liên quan để tiến hành các đánh giá, nghiên cứu và ngay sau đó đã xác nhận tính hợp lệ và mức độ nghiêm trọng cao của lỗ hổng.

spring-1.jpg

Thông tin về lỗ hổng​

Được đặt tên là Spring4Shell, bản chất của lỗ hổng liên quan đến Class Loader anipulation trong Java. Để khai thác lỗ hổng trong một ứng dụng Spring, cần có các yêu cầu nhất định:

"Một ứng dụng cũng phải sử dụng "Spring Beans", "Spring Parameter Binding" và "Spring Parameter Binding phải được định cấu hình để dùng các loại tham số không cơ bản, chẳng hạn như POJO" - Will Dormann, nhà phân tích lỗ hổng tại CERT/CC cho biết

Công ty an ninh mạng Praetorian cũng xác nhận lỗi này cần có điều kiện phù hợp để quá trình khai thác hoạt động: "Việc khai thác yêu cầu endpoint có bật DataBinder (như: yêu cầu POST giải mã dữ liệu tự động từ phần nội dung yêu cầu) và phụ thuộc nhiều vào vùng chứa servlet cho ứng dụng. Ví dụ: khi Spring được triển khai cho Apache Tomcat, WebAppClassLoader có thể truy cập được, cho phép kẻ tấn công gọi getters và setters để cuối cùng ghi một tệp JSP độc hại vào đĩa".

"Tuy nhiên, nếu Spring được triển khai bằng Embedded Tomcat Servlet Container, lớp classloader là một LaunchedURLClassLoader với quyền truy cập hạn chế".

"Trong một số cấu hình nhất định, việc khai thác lỗi này rất đơn giản, vì nó chỉ yêu cầu kẻ tấn công gửi một yêu cầu POST được tạo thủ công tới một hệ thống tồn tại lỗ hổng. Tuy nhiên, việc khai thác các cấu hình trong ứng dụng không phù hợp, kẻ tấn công sẽ mất nhiều thời gian hơn để cho khai thác hoạt động".

Phiên bản ảnh hưởng và cách khắc phục​

Lỗ hổng Spring4Shell ảnh hưởng đến Spring Core trên Java Development Kit (JDK) phiên bản 9 trở lên và là một biện pháp bypass cho một lỗ hổng khác có mã định danh là CVE-2010-1622, cho phép kẻ tấn công chưa được xác thực thực thi mã tùy ý trên hệ thống mục tiêu.

Hiện tại, lỗ hổng này không có bản vá, nên quản trị viên sử dụng các ứng dụng Spring nên triển khai các biện pháp giảm thiểu càng sớm càng tốt.

Praetorian đưa ra cách để giảm thiểu một phần các cuộc tấn công Spring4Shell bằng cách vô hiệu hóa việc chuyển các 'mẫu' cụ thể đến chức năng Spring Core DataBinder.

Với sự phổ biến của Spring Core Java framework, chắc chắn sẽ có một số lượng lớn các ứng dụng bị ảnh hưởng bởi lỗ hổng. Do việc khai khai chỉ đơn giản là gửi một yêu cầu POST đến ứng dụng, hacker có thể dễ dàng tạo các script tự động để dò quét các máy chủ tồn tại lỗ hổng.


Video demo lỗ hổng

Lỗ hổng này gợi nhớ đến lỗ hổng Log4Shell gây đau đầu giới an ninh mạng vào tháng 12 năm 2021. Tuy nhiên theo các chuyên gia an ninh mạng của WhiteHat, lỗ hổng Spring4Shell có mức độ ảnh hưởng thấp hơn và cách khai thác cũng khó hơn lỗ hổng Log4Shell. Dù vậy, lỗ hổng vẫn ảnh hưởng trên 1 thư viện phổ biến nên các đơn vị cần tiến hành rà soát lại hệ thống để tránh bị tin tặc tấn công.

Ngoài ra, một lỗ hổng an ninh trong Spring Cloud Function có mã định danh CVE-2022-22963 cũng đã được tiết lộ công khai kèm theo PoC khai thác. Nhiều nguồn tin cho biết, lỗ hổng này đã bị tin tặc khai thác tích cực trong thực tế.

map.png

WhiteHat sẽ tiếp tục cập nhật thêm các thông tin mới nhất về lỗ hổng Spring4Shell.

Nguồn: Tổng hợp
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: hungops
Thẻ
cve-2022-22963 spring cloud spring core spring java framework spring4shell
Bên trên