CWE-502 là gì?
CWE-502 là giải tuần tự hóa dữ liệu không đáng tin cậy. Lỗi phát sinh khi sản phẩm giải tuần tự hóa dữ liệu không đáng tin cậy mà không bảo đảm đầy đủ rằng dữ liệu kết quả là hợp lệ.
CWE-502 là giải tuần tự hóa dữ liệu không đáng tin cậy. Lỗi phát sinh khi sản phẩm giải tuần tự hóa dữ liệu không đáng tin cậy mà không bảo đảm đầy đủ rằng dữ liệu kết quả là hợp lệ.
Chưa có dữ liệu về lỗ hổng cho CWE-502
Chưa có dữ liệu về lỗ hổng trong CISA KEV cho CWE-502
Tuần tự hóa đóng gói dữ liệu liên quan đến đối tượng để lưu trữ hoặc truyền đi; giải tuần tự hóa lấy dữ liệu đó và tái tạo đối tượng ban đầu. Lỗi xảy ra khi sản phẩm coi dữ liệu được tái tạo là hợp lệ hoặc đáng tin cậy mà không kiểm tra đầy đủ kiểu, giá trị, trạng thái và các hành vi có thể được kích hoạt trong quá trình này. Kẻ tấn công có thể tạo hoặc sửa dữ liệu để tái tạo các đối tượng bất ngờ, gọi phương thức ngoài dự kiến hoặc kích hoạt chuỗi gadget trong các thư viện. Vì vậy, tác động phụ thuộc vào các kiểu đối tượng và phương thức có sẵn cũng như cách ứng dụng sử dụng chúng; lỗi thường bắt nguồn từ việc thiếu biện pháp bảo mật ở giai đoạn kiến trúc, thiết kế hoặc triển khai.
Điểm cốt lõi là dữ liệu bên ngoài được dùng để tái tạo đối tượng hoặc trạng thái nội bộ mà không được bảo đảm hợp lệ trước khi sử dụng. Quá trình này còn được gọi là unmarshaling, pickling hoặc unpickling trong một số ngữ cảnh; trong Python, pickle thực hiện tuần tự hóa và giải tuần tự hóa. Khi các lớp, phương thức hoặc gadget không nên được gọi vẫn có thể được tái tạo, dữ liệu có thể bỏ qua các hàm truy cập an toàn và làm thay đổi trạng thái ứng dụng. Bản ghi áp dụng cho Java, Ruby, PHP, Python và JavaScript; nền tảng công nghệ có thể là không đặc thù, ICS/OT hoặc AI/ML.
| Tác động | Phạm vi | Diễn giải |
|---|---|---|
| Thay đổi dữ liệu ứng dụng, Trạng thái ngoài dự kiến | Tính toàn vẹn | Attackers can modify unexpected objects or data that was assumed to be safe from modification. Deserialized data or code could be modified without using the provided accessor functions, or unexpected functions could be invoked. |
| Từ chối dịch vụ: tiêu thụ tài nguyên CPU | Tính sẵn sàng | If a function is making an assumption on when to terminate, based on a sentry in a string, it could easily never terminate. |
| Thay đổi tùy ngữ cảnh | Khác | The consequences can vary widely, because it depends on which objects or methods are being deserialized, and how they are used. Making an assumption that the code in the deserialized object is valid is dangerous and can enable exploitation. One example is attackers using gadget chains to perform unauthorized actions, such as generating a shell. |
object cuối cùng để ngăn việc giải tuần tự hóa.NULL.Phân tích tĩnh tự động, còn gọi là SAST, có thể phát hiện một số trường hợp bằng cách phân tích mã nguồn hoặc mã nhị phân mà không cần thực thi. Phương pháp này thường lập mô hình luồng dữ liệu và luồng điều khiển, sau đó tìm các mẫu nối nguồn đầu vào với các điểm đích nơi dữ liệu tương tác với thành phần bên ngoài hoặc lớp thấp hơn. Cách phát hiện này có hiệu quả cao nhưng không nhất thiết bao quát mọi trường hợp hoặc hành vi chỉ xuất hiện khi chạy.
| Phương pháp | Cách làm | Hiệu quả |
|---|---|---|
| Phân tích tĩnh tự động | Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.) | Cao |
Các ví dụ đại diện trong hồ sơ gồm: CVE-2024-37052, trong đó đối tượng pickle được tạo riêng trong tệp mô hình AI/ML dẫn đến thực thi mã; CVE-2024-37288, liên quan đến giải tuần tự hóa YAML không đáng tin cậy; và CVE-2024-9314, liên quan đến PHP object injection trong một plugin WordPress. Các ví dụ khác cho thấy việc dùng unserialize của PHP có thể sửa cấu hình hoặc dẫn đến thực thi mã (CVE-2013-1465, CVE-2012-3527, CVE-2012-0911), còn các thư viện Java và tập lệnh Python có thể dẫn đến thực thi mã (CVE-2015-8103, CVE-2015-4852, CVE-2011-2520, CVE-2012-4406). Hồ sơ cũng ghi nhận việc vượt qua vấn đề giải tuần tự hóa bằng lớp được giả định là đáng tin cậy (CVE-2019-12799) và việc trình duyệt gọi phương thức gốc thông qua chuỗi được giải tuần tự hóa trong hàm JavaScript (CVE-2012-4406, CVE-2003-0791); đây là các ví dụ đại diện, không phải toàn bộ số lỗ hổng.
Dưới đây là các lỗ hổng tiêu biểu liên quan đến CWE-502, dựa theo mức độ ưu tiên
CWE™ Program, operated by The MITRE Corporation. Copyright © 2006–2026, The MITRE Corporation. The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. CWE Terms of Use.
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.
Đánh giá mức độ an toàn và các đề xuất tới từ CyStack cho các trang Web
Tìm hiểu các nghiên cứu của đội ngũ chuyên gia chúng tôi trong an ninh mạng
Tìm hiểu về giải pháp tình báo mối đe doạ và phát hiện lộ lọt dữ liệu tới từ CyStack
vi