CWE-843: Truy cập tài nguyên bằng kiểu không tương thích

CWE-843 là gì?

CWE-843 là truy cập tài nguyên bằng kiểu không tương thích. Lỗi phát sinh khi sản phẩm cấp phát hoặc khởi tạo một tài nguyên như con trỏ, đối tượng hoặc biến bằng một kiểu, nhưng sau đó truy cập tài nguyên đó bằng kiểu không tương thích với kiểu ban đầu. Hiện có 234 lỗ hổng trong kho dữ liệu liên quan đến CWE-843 và 2 trong số đó nằm trong danh mục khai thác thực tế của CISA.

Thứ hạng OWASP Top 10-
Tổng số CVE liên quan (365 ngày)234
Mức trừu tượngCơ bản
Khả năng khai thác-

Số lượng lỗ hổng nằm trong CWE-843

234 lỗ hổngTăng 333% so với cùng kỳ

Số lượng lỗ hổng trong CISA KEV của CWE-843

2 lỗ hổngTăng 100% so với cùng kỳ

Định nghĩa chính thức

TheoMitre CWE

Chi tiết kỹ thuật

Khi kiểu sử dụng sau đó không tương thích với kiểu đã được cấp phát hoặc khởi tạo, chương trình có thể diễn giải sai cấu trúc, kích thước hoặc thuộc tính của tài nguyên. Trong trường hợp vùng đệm bộ nhớ bị truy cập bằng kiểu lớn hơn vùng đệm đã cấp phát, thao tác này có thể vượt ra ngoài giới hạn bộ nhớ. Điểm yếu có thể phát sinh trong nhiều ngôn ngữ và mô hình dữ liệu, không chỉ trong mã C hoặc C++ dùng ép kiểu hay union.

Đặc điểm

Điểm yếu này xảy ra khi cùng một tài nguyên hoặc vùng nhớ được diễn giải theo nhiều kiểu khác nhau, khiến các thuộc tính mà mã mong đợi không còn phù hợp với dữ liệu thực tế. Nó thường liên quan đến union và việc phân tích dữ liệu chứa nhiều loại đối tượng trong C, nhưng không chỉ giới hạn ở C và C++; lỗi tương tự có thể xuất hiện khi ứng dụng diễn giải tham số mảng như giá trị vô hướng hoặc ngược lại, hoặc khi ngôn ngữ tự động chuyển đổi kiểu khi biến được truy cập theo cách khác. Các nền tảng được ghi nhận gồm C, C++ và Python, với mức độ phổ biến chưa được xác định.

Hậu quả thường gặp

Kết quả trực tiếp có thể là lỗi logic vì tài nguyên không có các thuộc tính mà mã dự kiến. Nếu vùng đệm được cấp phát nhỏ hơn kiểu không tương thích dùng để truy cập, kẻ tấn công có thể đọc hoặc sửa bộ nhớ ngoài vùng đệm, có khả năng gây sự cố, thực thi mã hoặc lệnh trái phép, đồng thời ảnh hưởng đến tính bí mật, toàn vẹn và sẵn sàng.

Dữ liệu MITRE CWE chính thức
Tác độngPhạm viDiễn giải
Thay đổi tùy ngữ cảnhKhácWhen the product accesses the resource using an incompatible type, this could trigger logical errors because the resource does not have expected properties.
Đọc bộ nhớ, Thay đổi bộ nhớ, Thực thi mã hoặc lệnh trái phép, Từ chối dịch vụ: sập, thoát hoặc khởi động lạiTính sẵn sàng, Tính toàn vẹn, Tính bí mậtIf a memory buffer is accessed using an incompatible type, and the allocated buffer is smaller than the type that the code is attempting to access, then an attacker could read or write memory outside the bounds of the buffer, leading to a crash or possibly code execution.

Biện pháp giảm thiểu rủi ro

Hồ sơ chính thức không nêu hướng dẫn giảm thiểu cho điểm yếu này.

Cách phát hiện trong hệ thống

Phân tích tĩnh tự động, thường 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 đã biên dịch 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 đáng ngờ nối nguồn dữ liệu đầu vào với đ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 bên dưới như hệ điều hành; hồ sơ chính thức đánh giá phương pháp này có hiệu quả cao.

Dữ liệu MITRE CWE chính thức
Phương phápCách làmHiệu quả
Phân tích tĩnh tự độngAutomated 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

Lỗ hổng điển hình

Các ví dụ sau là một số ví dụ đại diện, không phải danh sách đầy đủ:

  • CVE-2025-32352: Nhầm kiểu trong một ứng dụng PHP cho phép vượt qua xác thực khi mật khẩu của người dùng có các giá trị băm MD5 có thể được diễn giải thành số.
  • CVE-2010-4577: Nhầm kiểu trong một chuỗi CSS dẫn đến việc đọc vượt giới hạn.
  • CVE-2011-0611: Sự không nhất quán về kích thước dẫn đến thực thi mã; lỗi này được phát hiện lần đầu khi đang bị khai thác trong thực tế.
  • CVE-2010-0258: Tệp được phân tích không đúng, chứa các bản ghi thuộc nhiều kiểu, khiến một vị trí bộ nhớ bị diễn giải thành đối tượng khác với dự định và dẫn đến thực thi mã.
Nguồn (2)

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.

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.