Phản chiếu không an toàn cho phép thực thi mã tùy ý trong AWS Amazon Redshift JDBC Driver

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-119084 là gì?

Lỗ hổng CVE-2026-119084 là lỗ hổng Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') ảnh hưởng tới amazon-redshift-jdbc-driver (phiên bản bị ảnh hưởng: < 2.3.0). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.2. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Giới thiệu chung

Dữ liệu gốc

Phản chiếu không an toàn trong việc xử lý tham số kết nối và credentials profile của Amazon Redshift JDBC Driver trước 2.3.0 có thể cho phép một tác nhân có thể chi phối JDBC connection URL hoặc AWS credentials profile thực thi mã tùy ý trong context của ứng dụng, với điều kiện một class phù hợp có sẵn trên application classpath. Để khắc phục vấn đề này, người dùng nên nâng cấp lên phiên bản 2.3.0 trở lên.

Sản phẩm và phạm vi ảnh hưởng

  • AWS Amazon Redshift JDBC Driver: bị ảnh hưởng từ phiên bản 0 đến các phiên bản nhỏ hơn 2.3.0; trạng thái mặc định của sản phẩm trong record là unaffected ngoài phạm vi bị ảnh hưởng được nêu.
  • Maven package com.amazon.redshift:redshift-jdbc42: GitHub advisory xác định các phiên bản nhỏ hơn 2.3.0 là bị ảnh hưởng.
  • Bản đã sửa: 2.3.0. Các nguồn được kiểm tra không nêu thêm release branch hoặc ranh giới sản phẩm song song nào.

Chi tiết kỹ thuật

Thành phần bị ảnh hưởng là phần xử lý tham số trong JDBC connection URL và các trường trong AWS credentials profile của driver, bao gồm package com.amazon.redshift:redshift-jdbc42. Driver sử dụng các giá trị chịu ảnh hưởng từ bên ngoài để quyết định việc reflection hoặc class loading nhưng không hạn chế đầy đủ class hoặc code được chọn, phù hợp với CWE-470. Khi một class phù hợp đã có trên application classpath và tác nhân có thể chi phối connection URL hoặc credentials profile, driver có thể load và thực thi class tùy ý trong context của JVM ứng dụng. Đánh giá được cung cấp phân loại đường tiếp cận là qua mạng, không yêu cầu xác thực hoặc tương tác người dùng; khả năng tiếp cận thực tế phụ thuộc vào cách triển khai cho phép tác nhân ảnh hưởng đến các đầu vào này. Tên tham số cụ thể, đường gọi reflection và các đặc tính chính xác của class cần có ngoài điều kiện class phù hợp tồn tại vẫn chưa được xác định.

Khả năng khai thác

Đánh giá được cung cấp mô tả khả năng tiếp cận qua mạng, không yêu cầu quyền hạn và không yêu cầu tương tác người dùng. Tuy nhiên, việc khai thác vẫn cần tác nhân có thể ảnh hưởng đến JDBC connection URL hoặc AWS credentials profile, đồng thời phải có class phù hợp trên application classpath; đường đưa dữ liệu vào phụ thuộc vào từng cách triển khai. Các bản đánh giá khác nhau trong record đưa ra nhận định khác nhau về độ phức tạp, vì vậy không nên suy ra khả năng khai thác thực tế chỉ từ một chỉ số duy nhất. Record không xác nhận đã có khai thác thực tế hoặc public exploit.

Tác động kỹ thuật

Thực thi mã tùy ý xảy ra trong context của ứng dụng, với quyền hiệu dụng của JVM process đang sử dụng driver. Điều này có thể dẫn đến mất tính bí mật, toàn vẹn và khả dụng đối với dữ liệu hoặc tài nguyên mà process có thể truy cập. Blast radius có khả năng phụ thuộc vào quyền của tài khoản chạy ứng dụng, secrets được nạp vào process và các kết nối mạng mà ứng dụng được phép tạo. Record không thiết lập một kịch bản breach cụ thể hoặc cho thấy tác động vượt ra ngoài context của ứng dụng.

Tác động đến tổ chức

Nếu khai thác thành công, tác nhân có thể thực thi mã với quyền của process ứng dụng, từ đó có khả năng đọc hoặc thay đổi dữ liệu và tài nguyên mà process đó truy cập được, cũng như làm gián đoạn dịch vụ. Phạm vi ảnh hưởng thực tế phụ thuộc vào tài khoản chạy JVM, secrets của ứng dụng, quyền truy cập hệ thống và quyền truy cập mạng của process. Lỗi có thể biến một thư viện kết nối cơ sở dữ liệu thành điểm thực thi mã trong ứng dụng sử dụng thư viện đó. Record không xác định một dataset, host, tổ chức hoặc breach cụ thể đã bị ảnh hưởng.

Cách khắc phục

  1. Nâng cấp Amazon Redshift JDBC Driver lên 2.3.0, bao gồm các deployment sử dụng com.amazon.redshift:redshift-jdbc42, sau đó xác minh artifact thực tế đã triển khai.
  2. Nếu sử dụng fork hoặc derivative code, đưa các bản sửa tương ứng vào mã đó và xây dựng lại artifact.
  3. Trong thời gian chưa thể nâng cấp, không tạo JDBC connection URL hoặc AWS credentials profile từ dữ liệu không tin cậy. Nếu bắt buộc phải nhận giá trị từ bên ngoài, hãy kiểm tra chúng bằng allowlist gồm các tham số và giá trị được kỳ vọng.
  4. Kiểm tra lại mọi dịch vụ dùng driver, kể cả những dịch vụ đóng gói driver trong shaded hoặc fat JAR, vì chỉ cập nhật dependency declaration mà không thay đổi artifact runtime có thể không khắc phục deployment thực tế.

Cách phát hiện

  1. Kiểm kê các ứng dụng, container, package và shaded hoặc fat JAR có chứa Amazon Redshift JDBC Driver; kiểm tra artifact thực tế lúc runtime thay vì chỉ kiểm tra khai báo dependency trong mã nguồn.
  2. Với từng deployment, truy vết xem dữ liệu không tin cậy hoặc dữ liệu do bên ngoài kiểm soát có thể ảnh hưởng đến JDBC connection URL hay các trường trong AWS credentials profile hay không.
  3. Rà soát các fork và derivative code, cùng những thay đổi cấu hình hoặc dependency liên quan đến driver, để xác nhận bản sửa lỗi đã được đưa vào artifact triển khai.
  4. Có thể dùng telemetry của ứng dụng hoặc JVM như một biện pháp phòng ngừa để xem xét việc class loading hoặc code execution bất thường trong quá trình khởi tạo kết nối, nhưng record và các advisory được kiểm tra không cung cấp log event hay IOC cụ thể nào.
Nguồn (14)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.