Katalog CWE

CWE-135 · Słabość

Incorrect Calculation of Multi-Byte String Length

Abstrakcja
Bazowa
Status
Szkic
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 does not correctly calculate the length of strings that can contain wide or multi-byte characters.

Skutki

  • Integrity, Confidentiality, Availability

    Execute Unauthorized Code or Commands

    This weakness may lead to a buffer overflow. Buffer overflows often can be used to execute arbitrary code, which is usually outside the scope of a program's implicit security policy. This can often be used to subvert any other security service.

  • Availability, Confidentiality

    Read Memory; DoS: Crash, Exit, or Restart; DoS: Resource Consumption (CPU); DoS: Resource Consumption (Memory)

    Out of bounds memory access will very likely result in the corruption of relevant memory, and perhaps instructions, possibly leading to a crash. Other attacks leading to lack of availability are possible, including putting the program into an infinite loop.

  • Confidentiality

    Read Memory

    In the case of an out-of-bounds read, the attacker may have access to sensitive information. If the sensitive information contains system details, such as the current buffer's position in memory, this knowledge can be used to craft further attacks, possibly with more severe consequences.

Zapobieganie

  • Implementation · Input Validation

    Always verify the length of the string unit character.

  • Implementation · Libraries or Frameworks

    Use length computing functions (e.g. strlen, wcslen, etc.) appropriately with their equivalent type (e.g.: byte, wchar_t, etc.)

Słabość nadrzędna

Kiedy powstaje

Dotyczy

C, C++

Źródła

  1. Writing Secure Code — Michael Howard, David LeBlanc, Chapter 5, "Unicode and ANSI Buffer Size Mismatches" Page 153, Microsoft Press, 2002
  2. The CLASP Application Security Process — Secure Software, Inc., 2005

Wpis z katalogu CWE 4.20.