Tấn công mạng bằng AI: Cách phát hiện, ngăn chặn và phòng thủ trước các mối đe dọa thông minh

Đọc ngay
Chúng tôi sử dụng trí tuệ nhân tạo để dịch trang web và trong khi chúng tôi cố gắng đạt được độ chính xác, chúng có thể không phải lúc nào cũng chính xác 100%. Sự hiểu biết của bạn được đánh giá cao.

CVE-2025-24293 quan trọng trong Ruby on Rails – Active Storage RCE được phát hiện bởi OPSWAT Đơn vị 515

bằng cách OPSWAT
Chia sẻ bài viết này

Giới thiệu về Ruby on Rails

Ruby on Rails (Rails) là một framework web đầy đủ, Model-View-Controller (MVC) được xây dựng bằng Ruby. Nó đi kèm "pin tích hợp ", cung cấp cho các nhà phát triển mọi thứ họ cần ngay khi cài đặt: một Object-Relational Mapper (Active Record), một lớp yêu cầu/phản hồi và lớp xem (Action Pack/Action View), xử lý tác vụ nền, trình gửi thư, hỗ trợ WebSocket, lưu trữ và tải tệp (Active Storage), và nhiều hơn nữa.

Kể từ khi ra mắt lần đầu vào năm 2004, Ruby on Rails đã phát triển thành một trong những framework web được sử dụng rộng rãi nhất trên thế giới. Ngày nay, nó hỗ trợ hàng triệu trang web và ứng dụng - bao gồm các nền tảng nổi tiếng như GitHub, Shopify, Airbnb, Basecamp và Netflix. Với trọng tâm mạnh mẽ vào Quy ước hơn Cấu hình , năng suất của nhà phát triển và khả năng tạo mẫu nhanh, Rails đã trở thành một framework được cả startup và doanh nghiệp lớn tin dùng.

Bài nghiên cứu số 515: Phát hiện lỗ hổng bảo mật nghiêm trọng trong Rails

Trong quá trình nghiên cứu độc lập, Thái Đỗ , một thành viên của OPSWAT Đội 515 của Ruby on Rails đã phát hiện hai lỗ hổng bảo mật trong Ruby on Rails - một trong số đó có thể dẫn đến thực thi mã từ xa (RCE). Những phát hiện này đã được báo cáo một cách có trách nhiệm cho nhóm bảo mật Rails, cùng với OPSWAT được phối hợp trong suốt quá trình.

Vào ngày 13 tháng 8 năm 2025, nhóm Rails đã công bố thông báo công khai và phát hành phiên bản vá lỗi để giải quyết cả hai lỗ hổng bảo mật.

Phiên bản bị ảnh hưởng và bản phát hành đã sửa lỗi

Thành phần
Phiên bản bị ảnh hưởng
Phiên bản cố định
Lưu trữ hoạt động (CVE-2025-24293)
Rails ≥ 5.2.0 trở xuống bản phát hành cố định
7.1.5.2, 7.2.2.2, 8.0.2.1
Ghi nhật ký bản ghi hoạt động (CVE-2025-55193)
Rails < 7.1.5.2, < 7.2.2.2, < 8.0.2.1
7.1.5.2, 7.2.2.2, 8.0.2.1

Các vấn đề bảo mật được xác định trong Rails

CVE-2025-24293 – Phương pháp chuyển đổi lưu trữ không an toàn chủ động

Lỗ hổng này ảnh hưởng đến Active Storage trong Rails phiên bản ≥ 5.2.0. Lỗi này xảy ra khi các phương thức chuyển đổi hình ảnh không an toàn được truyền đến mini_magick , khi kết hợp với dữ liệu đầu vào chưa được xác thực của người dùng, có thể dẫn đến thực thi mã từ xa (RCE). Mặc dù Rails lưu ý rằng lỗ hổng này không thể khai thác được ở cấu hình mặc định, nhưng các ứng dụng cung cấp tùy chọn chuyển đổi cho người dùng lại đặc biệt có nguy cơ bị tấn công.

CVE-2025-55193 – Lỗi ANSI Escape Injection trong Active Record Logging

Lỗ hổng này ảnh hưởng đến việc ghi nhật ký Active Record trong tất cả các phiên bản Rails trước 7.1.5.2, 7.2.2.2 và 8.0.2.1. Kẻ tấn công có thể chèn các mã định danh được thiết kế đặc biệt chứa chuỗi thoát ANSI vào nhật ký, có khả năng thao túng cách các truy vấn xuất hiện trong đầu ra của thiết bị đầu cuối và dẫn đến nhật ký bị sai lệch hoặc bị hỏng. Mặc dù lỗ hổng không trực tiếp làm lộ dữ liệu hoặc cho phép thực thi mã, nhưng nó có thể cản trở các nỗ lực giám sát và ứng phó sự cố. Đội ngũ bảo mật Rails đã giải quyết vấn đề trong cùng các bản vá.

Phân tích kỹ thuật về CVE-2025-24293 – Thực thi mã từ xa của Active Storage

Tổng quan về Lưu trữ Hoạt động

Active Storage là framework tích hợp sẵn của Rails để xử lý việc tải tệp lên. Nó cho phép các nhà phát triển đính kèm tệp vào các mô hình Active Record và lưu trữ chúng cục bộ (để phát triển/thử nghiệm) hoặc trên các dịch vụ đám mây như Amazon S3, Google Cloud Storage hoặc Microsoft Azure . Core Các tính năng bao gồm thực hiện chuyển đổi hình ảnh, tạo bản xem trước cho các tệp không phải hình ảnh như PDF và video, và sao chép nội dung tải lên nhiều dịch vụ để dự phòng hoặc di chuyển.

Cách thức hoạt động của chuyển đổi hình ảnh

Biến đổi hình ảnh cho phép các nhà phát triển phân phối tệp đính kèm ở kích thước hoặc định dạng cụ thể. Điều này được thực hiện bằng cách gọi phương thức variant() trên tệp đính kèm hình ảnh và truyền vào các thao tác được hỗ trợ.

Khi máy khách yêu cầu một URL biến thể, Active Storage sẽ thực hiện chuyển đổi theo yêu cầu từ blob gốc, lưu trữ kết quả trên dịch vụ được cấu hình và trả về lệnh chuyển hướng đến tệp mới tạo.

Rails hỗ trợ hai bộ xử lý để chuyển đổi hình ảnh: VipsMiniMagick . Bộ xử lý đang sử dụng có thể được cấu hình thông qua config.active_storage.variant_processor.

Các hoạt động cụ thể được hỗ trợ trong chuyển đổi hình ảnh được xác định bởi gem image_processing và phụ thuộc vào bộ xử lý cơ bản được cấu hình cho ứng dụng Rails.

Bản sửa lỗi chưa hoàn chỉnh của CVE-2022-21831

Vào tháng 3 năm 2022, nhóm Rails đã tiết lộ CVE-2022-21831 , một lỗ hổng chèn mã nghiêm trọng trong tính năng chuyển đổi hình ảnh của Active Storage. Bản vá đã giới thiệu một danh sách cho phép mặc định các phương thức chuyển đổi để giảm thiểu sự cố.

Tuy nhiên, trong quá trình xem xét sâu hơn bản vá và mã nguồn Rails, Thai Do ( OPSWAT Đơn vị 515) đã phát hiện ra một lỗ hổng khiến bản sửa lỗi ban đầu không thể hoàn thiện. Lỗ hổng này đã mở đường cho kẻ tấn công thực thi mã từ xa (RCE), dẫn đến việc tiết lộ CVE-2025-24293.

Nguyên nhân gốc rễ trong gem image_processing

Khi một phép biến đổi được áp dụng, Rails sẽ chuyển giao hoạt động cho gem image_processing , gem này cuối cùng sẽ gọi ImageProcessing::Processor#call trong lib/image_processing/processor.rb

Nếu bộ xử lý biến thể được cấu hình là MiniMagick , lỗ hổng bảo mật nằm ở hai hàm trong lib/image_processing/mini_magick.rb :

load_image – chấp nhận các tùy chọn chưa được xác thực từ **loader.

save_image – chấp nhận các tùy chọn chưa được xác thực từ **saver.

Đối với load_image , bất kỳ cặp khóa-giá trị nào trong **loader ngoài page, geometryauto_orient đều được bảo toàn trong **options . Điều tương tự cũng áp dụng cho save_image , trong đó các khóa khác ngoài allow_splitting vẫn nằm trong **options . Các tùy chọn này sau đó được truyền đến Utils.apply_options(magick, **options) , áp dụng chúng dưới dạng cờ CLI MiniMagick (ví dụ: -quality).

Mặc dù trình tảitrình lưu được bao gồm trong danh sách cho phép mặc định và do đó được coi là an toàn, nhưng sự tin tưởng này là sai lầm. Với đầu vào được thiết kế cẩn thận, kẻ tấn công có thể khai thác các tùy chọn này để vượt qua các bước kiểm tra và cuối cùng khiến Rails thực thi các lệnh hệ thống tùy ý trên máy chủ.

Kịch bản khai thác trong ứng dụng Rails

Nếu một ứng dụng truyền trực tiếp dữ liệu đầu vào chưa được xác thực của người dùng vào các phương thức chuyển đổi, ví dụ:

Kẻ tấn công có thể tạo ra đầu vào độc hại để thao túng các tùy chọn trình tải hoặc trình lưu. Điều này sẽ bỏ qua danh sách cho phép và thực thi các lệnh tùy ý trên máy chủ, dẫn đến Thực thi Mã từ xa (RCE).

Bằng chứng khái niệm: Thực thi mã từ xa

Trong các ứng dụng Rails chạy các phiên bản dễ bị tấn công (trước 8.0.2.1, 7.2.2.2 và 7.1.5.2 ), OPSWAT Đơn vị 515 đã chứng minh thành công chuỗi khai thác trong đó đầu vào chuyển đổi chưa được xác thực dẫn đến việc thực thi lệnh shell.

Video PoC này chứng minh khả năng khai thác của CVE-2025-24293 và nêu bật tác động thực tế lên các ứng dụng Rails:

Dịch vụ giảm thiểu và kiểm tra xâm nhập chuyên nghiệp

Các tổ chức nên giải quyết CVE-2025-24293CVE-2025-55193 bằng cách nâng cấp Ruby on Rails lên các bản phát hành bảo mật mới nhất (7.1.5.2, 7.2.2.2 hoặc 8.0.2.1) . Nếu không thể vá lỗi ngay lập tức, các biện pháp bảo vệ tạm thời bao gồm hạn chế chuyển đổi hình ảnh thành các cài đặt trước được xác định trước, xác thực và khử trùng dữ liệu đầu vào của người dùng, củng cố chính sách ImageMagick và đảm bảo nhật ký không thể diễn giải chuỗi thoát ANSI.

Tuy nhiên, việc áp dụng các bản vá không loại bỏ hoàn toàn mọi rủi ro trong môi trường web hiện đại. Logic nghiệp vụ tùy chỉnh, tích hợp của bên thứ ba và quy trình triển khai phức tạp thường tạo ra các đường dẫn dễ bị khai thác vượt ra ngoài các khuyến cáo của nhà cung cấp. Đây là lý do tại sao việc kiểm tra thâm nhập ứng dụng web là rất cần thiết.

Tại OPSWAT Unit 515 cung cấp các dịch vụ kiểm tra xâm nhập ứng dụng web chuyên biệt, vượt xa các phương pháp kiểm tra tự động hoặc kiểm tra danh sách kiểm tra. Đội ngũ của chúng tôi bao gồm các chuyên gia bảo mật tấn công dày dạn kinh nghiệm, với nhiều năm kinh nghiệm trong việc kiểm tra các ứng dụng quy mô lớn trên nhiều ngành công nghiệp khác nhau. Sử dụng phương pháp luận có hệ thống, mang tính đối kháng, chúng tôi phát hiện các lỗ hổng trong luồng xác thực, xác thực đầu vào, kiểm soát truy cập và xử lý dữ liệu - những vấn đề có thể tồn tại ngay cả trong các nền tảng đã được vá đầy đủ như Ruby on Rails.

Mỗi cam kết kết hợp chuyên môn kỹ thuật sâu rộng với báo cáo sẵn sàng cho doanh nghiệp, cung cấp thông tin chi tiết rõ ràng, thiết thực, cho phép các nhóm phát triển khắc phục lỗi hiệu quả. Bằng cách tham gia Đơn vị 515 , các tổ chức có thể yên tâm rằng các ứng dụng quan trọng của họ được kiểm tra bởi các chuyên gia, những người không chỉ mô phỏng các kỹ thuật tấn công thực tế mà còn xác nhận rằng các bản sửa lỗi thực sự lấp đầy khoảng trống. Chuyên môn này củng cố các nỗ lực khắc phục, giảm thiểu rủi ro tồn đọng và nâng cao khả năng phục hồi tổng thể của ứng dụng trước các mối đe dọa đang phát triển.

Luôn cập nhật với OPSWAT!

Đăng ký ngay hôm nay để nhận thông tin cập nhật mới nhất về công ty, câu chuyện, thông tin sự kiện và nhiều thông tin khác.