Falhas do tipo CWE-135
2 resultadosCálculo incorreto do comprimento de string multi-byte
Ocorre quando o código calcula o tamanho de uma string contendo caracteres multi-byte (UTF-8, UTF-16, etc.) usando funções que contam bytes em vez de caracteres, ou vice-versa. Isso causa buffers menores ou maiores que o esperado, levando a leituras/escritas fora dos limites ou truncamento silencioso de dados.
Um aplicativo recebe uma string em UTF-8 com caracteres acentuados, usa strlen() para alocar buffer (contando bytes) mas depois trata como se fossem caracteres individuais. Um caractere acentuado ocupa 2-3 bytes, causando acesso além do buffer alocado.
Use funções sensíveis ao encoding (como mb_strlen em PHP ou métodos de contagem de caracteres UTF-aware) em vez de contar bytes. Valide e normalize o encoding na entrada, e teste explicitamente com strings contendo caracteres multi-byte, especialmente acentuação e símbolos.