Katalog CWE

CWE-566 · Słabość

Authorization Bypass Through User-Controlled SQL Primary Key

Abstrakcja
Wariant
Status
Niekompletny
Dodano
19 lipca 2006
Ostatnia zmiana
11 grudnia 2025

Podatności CVE z tą słabościąPełny wpis na cwe.mitre.org ↗

Opis

The product uses a database table that includes records that should not be accessible to an actor, but it executes a SQL statement with a primary key that can be controlled by that actor.

When a user can set a primary key to any value, then the user can modify the key to point to unauthorized records.

Database access control errors occur when:

- Data enters a program from an untrusted source.

- The data is used to specify the value of a primary key in a SQL query.

- The untrusted source does not have the permissions to be able to access all rows in the associated table.

Skutki

  • Confidentiality, Integrity, Access Control

    Read Application Data; Modify Application Data; Bypass Protection Mechanism

Zapobieganie

  • Implementation

    Assume all input is malicious. Use a standard input validation mechanism to validate all input for length, type, syntax, and business rules before accepting the data. Use an "accept known good" validation strategy.

  • Implementation

    Use a parameterized query AND make sure that the accepted values conform to the business rules. Construct your SQL statement accordingly.

Słabość nadrzędna

Kiedy powstaje

Dotyczy

SQL, Database Server

Wpis z katalogu CWE 4.20.