Umbra Wiki weakness weakness/CWE-1335
Back to wiki

CWE-1335 — Incorrect Bitwise Shift of Integer

provenance: imported · CWE: CWE-1335

CWE-1335: Incorrect Bitwise Shift of Integer

MITRE CWE weakness

Kind Weakness
Abstraction Base
Status Draft
Likelihood of exploit

Description

An integer value is specified to be shifted by a negative amount or an amount greater than or equal to the number of bits contained in the value causing an unexpected or indeterminate result.

Specifying a value to be shifted by a negative amount is undefined in various languages. Various computer architectures implement this action in different ways. The compilers and interpreters when generating code to accomplish a shift generally do not do a check for this issue. Specifying an over-shift, a shift greater than or equal to the number of bits contained in a value to be shifted, produces a result which varies by architecture and compiler. In some languages, this action is specifically listed as producing an undefined result.

Common consequences

  • Integrity: DoS: Crash, Exit, or Restart

Mitigations

Implementation — Implicitly or explicitly add checks and mitigation for negative or over-shift values.

References

  • CWE page: https://cwe.mitre.org/data/definitions/1335.html
  • CWE list: https://cwe.mitre.org/data/index.html