Phân Tích Lỗ Hổng CVE-2025-4318: Remote Code Execution trong AWS Amplify Studio

Phân Tích Lỗ Hổng CVE-2025-4318: Remote Code Execution trong AWS Amplify Studio

Một lỗ hổng nghiêm trọng đã được phát hiện trong package @aws-amplify/codegen-ui, một thành phần của quá trình sinh UI trong AWS Amplify Studio. Lỗ hổng này, được gán mã CVE-2025-4318, có thể dẫn đến thực thi mã từ xa (Remote Code Execution – RCE) và được đánh giá ở mức Critical với điểm CVSS là 9.5. Bài viết này cung cấp chi tiết kỹ thuật về lỗ hổng, phạm vi ảnh hưởng, cũng như thông tin về các phiên bản bị ảnh hưởng và cách khắc phục.

Thông Tin Cơ Bản về Lỗ Hổng

  • CVE ID: CVE-2025-4318
  • Loại Lỗ Hổng: Remote Code Execution (RCE)
  • Sản Phẩm Bị Ảnh Hưởng: Package @aws-amplify/codegen-ui, thuộc AWS Amplify Studio UI generation process
  • Phiên Bản Bị Ảnh Hưởng: <= 2.20.2
  • Phiên Bản Khắc Phục: 2.20.3
  • Điểm CVSS: 9.5 (Critical)
  • CWE Identifier: CWE-95 – Improper Neutralization of Directives in Dynamically Evaluated Code

Mô Tả Kỹ Thuật Lỗ Hổng

Lỗ hổng xuất phát từ việc xử lý không an toàn các biểu thức JavaScript property trong quá trình sinh mã UI của AWS Amplify Studio. Cụ thể, hệ thống không thực hiện kiểm tra hoặc sandboxing đầy đủ đối với đầu vào do người dùng cung cấp. Điều này dẫn đến việc kẻ tấn công có thể chèn các biểu thức động (dynamic expressions) độc hại vào các thành phần UI như label hoặc placeholder, gây ra thực thi mã từ xa trong quá trình build hoặc render.

Điều Kiện Khai Thác

Để khai thác lỗ hổng, kẻ tấn công cần có sự tương tác từ phía người dùng, chẳng hạn như yêu cầu người dùng tải hoặc render một thành phần UI độc hại chứa mã khai thác.

Mã Minh Họa Khai Thác (Exploit Payload Snippet)

Dưới đây là một đoạn mã minh họa cách một thành phần UI độc hại có thể được cấu hình để thực thi mã từ xa:

target_dir = "./"
filename = "MaliciousRCEComponent.json"

component = {
    "componentType": "TextField",
    "name": "MaliciousRCEComponent",
    "properties": {
        "label": {
            "value": "Exploitable Field"
        },
        "placeholder": {
            "value": payload
        }
    }
}

Thông Tin Bổ Sung

AWS Amplify Studio cho phép các nhà phát triển xây dựng giao diện người dùng (UI) bằng cách kéo thả trực quan và xuất chúng dưới dạng các thành phần React. Các thành phần này có thể chứa các biểu thức động (dynamic expressions) được thực thi tại thời điểm runtime, tạo điều kiện cho lỗ hổng nếu đầu vào không được kiểm soát chặt chẽ.

Khuyến Nghị Khắc Phục

Người dùng được khuyến nghị nâng cấp lên phiên bản 2.20.3 của package @aws-amplify/codegen-ui để vá lỗ hổng này. Ngoài ra, nên kiểm tra và giám sát các thành phần UI đầu vào để phát hiện các biểu thức động bất thường hoặc độc hại trong quá trình build và render.

Đối với các hệ thống đã triển khai các phiên bản bị ảnh hưởng, quản trị viên cần rà soát nhật ký hoạt động để phát hiện các dấu hiệu khai thác tiềm ẩn và thực hiện các biện pháp giảm thiểu rủi ro kịp thời.