CWE-1021: Hạn chế không đúng đối với các lớp giao diện hoặc khung được kết xuất

CWE-1021 là gì?

Ứng dụng web không hạn chế, hoặc hạn chế không đúng cách, các khung hay lớp giao diện người dùng thuộc về ứng dụng hoặc miền khác.

Thống kê dữ liệu

THỨ HẠNG OWASP TOP 10:20256 — A06:2025 — Insecure Design
TỔNG SỐ CVE LIÊN QUAN (365 NGÀY)28
MỨC TRỪU TƯỢNGCơ bản

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

28 lỗ hổngTăng 211,1% so với cùng kỳ

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

0 lỗ hổng

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

TheoMitre CWE

Chi tiết kỹ thuật

Điểm yếu xảy ra khi nội dung có thể được kết xuất bên trong, phủ lên, hoặc đặt cạnh giao diện người dùng của ứng dụng hay miền khác mà không có biện pháp hạn chế đầy đủ. Kẻ tấn công có thể lợi dụng hành vi này để che giấu vị trí hoặc mục đích của một điều khiển, từ đó khiến người dùng tương tác với ứng dụng nền ngoài dự định. Vấn đề này thường được gọi là clickjacking hoặc tấn công UI redress; trên thiết bị di động, tình huống tương tự thường được gọi là tapjacking, trong đó người dùng chạm vào giao diện đã bị thao túng.

Đặc điểm

Đây là điểm yếu phát sinh trong giai đoạn triển khai, ảnh hưởng đến ứng dụng web và không phụ thuộc vào ngôn ngữ lập trình hay công nghệ cụ thể. Đặc trưng của điểm yếu là không thực thi đúng quy định về những ứng dụng hoặc miền bên ngoài được phép nhúng hay kết xuất ứng dụng, bao gồm thông qua frame, lớp phủ và các phần tử nhúng liên quan. Hồ sơ cũng dùng các thuật ngữ clickjacking, UI redress attack và tapjacking; tapjacking chỉ tình huống tương tác bằng thao tác chạm trong ứng dụng di động.

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

Tác động chính thuộc phạm vi kiểm soát truy cập. Bằng cách khiến người dùng kích hoạt các điều khiển bị che giấu hoặc gây hiểu lầm, kẻ tấn công có thể đạt được đặc quyền hoặc mạo nhận danh tính, vượt qua cơ chế bảo vệ, đọc dữ liệu ứng dụng hoặc sửa đổi dữ liệu ứng dụng. Kết quả cụ thể phụ thuộc vào chức năng của ứng dụng nền, chẳng hạn thay đổi cài đặt quyền riêng tư trong ứng dụng mạng xã hội.

Dữ liệu MITRE CWE chính thức
Tác độngPhạm viDiễn giải
Chiếm đặc quyền hoặc mạo danh, Vượt qua cơ chế bảo vệ, Đọc dữ liệu ứng dụng, Thay đổi dữ liệu ứng dụngKiểm soát truy cậpAn attacker can trick a user into performing actions that are masked and hidden from the user's view. The impact varies widely, depending on the functionality of the underlying application. For example, in a social media application, clickjacking could be used to trick the user into changing privacy settings.

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

Áp dụng các hạn chế theo nhiều lớp trong giai đoạn triển khai:

  • Sử dụng X-Frame-Options để chỉ định những miền được phép nhúng ứng dụng, đồng thời lưu ý các giới hạn và khoảng trống trong quá trình triển khai, bao gồm nhu cầu cho phép nhiều miền.
  • Đối với các trình duyệt cũ không hỗ trợ X-Frame-Options, sử dụng tập lệnh phá khung trên những trang không được phép bị nhúng. Biện pháp này không đủ để sử dụng đơn độc vì tập lệnh có thể bị vượt qua và có thể xử lý không đúng nhiều khung lồng nhau.
  • Dùng chính sách Content Security Policy làm lớp phòng thủ bổ sung. Tùy cách triển khai chính sách, áp dụng chỉ thị frame-ancestors hoặc frame-src để kiểm soát nội dung được phép nhúng.
  • Ngoài việc kiểm soát frame và iframe, hạn chế khả năng ứng dụng được kết xuất thông qua các phần tử object, embed hoặc applet.
Dữ liệu MITRE CWE chính thức
  1. Hiện thực hóaThe use of X-Frame-Options allows developers of web content to restrict the usage of their application within the form of overlays, frames, or iFrames. The developer can indicate from which domains can frame the content. The concept of X-Frame-Options is well documented, but implementation of this protection mechanism is in development to cover gaps. There is a need for allowing frames from multiple domains.
  2. Hiện thực hóaA developer can use a "frame-breaker" script in each page that should not be framed. This is very helpful for legacy browsers that do not support X-Frame-Options security feature previously mentioned. It is also important to note that this tactic has been circumvented or bypassed. Improper usage of frames can persist in the web application through nested frames. The "frame-breaking" script does not intuitively account for multiple nested frames that can be presented to the user.
  3. Hiện thực hóaThis defense-in-depth technique can be used to prevent the improper usage of frames in web applications. It prioritizes the valid sources of data to be loaded into the application through the usage of declarative policies. Based on which implementation of Content Security Policy is in use, the developer should use the "frame-ancestors" directive or the "frame-src" directive to mitigate this weakness. Both directives allow for the placement of restrictions when it comes to allowing embedded content.
  4. Hiện thực hóaIn addition to frames or iframes as previously mentioned, the web application is expected to place restrictions on whether it is allowed to be rendered within objects, embed, or applet elements.

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

Phân tích tĩnh tự động, còn gọi là Static Application Security Testing, có thể phát hiện một số trường hợp mà không cần thực thi ứng dụng. Phương pháp này xây dựng mô hình luồng dữ liệu và luồng điều khiển trong mã nguồn hoặc mã đã biên dịch, sau đó tìm các mẫu dễ bị tổn thương nối nguồn đầu vào với điểm nhận tương tác với thành phần bên ngoài hoặc lớp thấp hơn. Hồ sơ đánh giá phương pháp này có hiệu quả cao, nhưng chỉ nêu khả năng phát hiện một số trường hợp chứ không phải mọi trường hợp.

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

Hồ sơ chính thức cung cấp các ví dụ tiêu biểu sau, không phải danh sách đầy đủ:

  • CVE-2017-7440: Tính năng xem trước email của một ứng dụng máy tính để bàn cho phép clickjacking thông qua thư email được tạo đặc biệt.
  • CVE-2017-5697: Một sản phẩm phần cứng hoặc firmware có cơ chế bảo vệ clickjacking không đầy đủ trong giao diện người dùng web.
  • CVE-2017-4015: Một sản phẩm ngăn ngừa mất dữ liệu bị clickjacking thông qua tiêu đề phản hồi HTTP.
  • CVE-2016-2496: Tapjacking trong hộp thoại cấp quyền của hệ điều hành di động cho phép truy cập bộ nhớ riêng tư thông qua cửa sổ chồng lấn một phần.
  • CVE-2015-1241: Một trình duyệt web bị tapjacking liên quan đến điều hướng trang và các sự kiện chạm hoặc cử chỉ.
  • CVE-2017-0492: Giao diện hệ thống của một hệ điều hành di động cho phép ứng dụng độc hại tạo lớp phủ giao diện toàn màn hình để đạt được đặc quyền.
Nguồn (7)

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.

Khám phá CyStack VulnScan