# Integer Overflow or Wraparound (CWE-190) The product performs a calculation that can produce an integer overflow or wraparound, when the logic assumes that the resulting value will always be larger than the original value. **Stack:** Python - Prevalence: Średnia Pokryto 3 języków - Impact: Średni Zalecany przegląd - Prevention: Udokumentowane 3 przykładów poprawek **OWASP:** Security Misconfiguration (A05:2021-Security Misconfiguration) - #5 ## Description An integer overflow occurs when an arithmetic operation attempts to create a numeric value that is outside of the range that can be represented with a given number of bits. This can lead to buffer overflows, incorrect financial calculations, or security bypasses. ## Prevention Strategie zapobiegania dla Integer Overflow oparte na 1 regułach detekcji Shoulder. ### Python Validate numeric bounds before arithmetic operations on user input ## Warning Signs - [LOW] potential integer overflow in numeric operations ## Consequences - DoS - Wykonanie nieautoryzowanego kodu - Modyfikacja danych aplikacji ## Mitigations - Stosuj języki lub biblioteki sprawdzające przepełnienie liczb całkowitych - Sprawdzaj, czy dane wejściowe mieszczą się w oczekiwanych zakresach - Korzystaj z bezpiecznych funkcji arytmetycznych sprawdzających przepełnienie ## Detection - Total rules: 3 - Languages: go, javascript, typescript, python ## Rules by Language ### Python (1 rules) - **Integer Overflow / Large Number Handling** [LOW]: Detects potential integer overflow in numeric operations. - Remediation: Validate numeric bounds before arithmetic operations. ```python from flask import request, jsonify @app.route('/calculate') def calculate(): count = int(request.args.get('count', 0)) if count < 0 or count > 10000: return jsonify({'error': 'Invalid count'}), 400 result = count * unit_price return jsonify({'total': result}) ``` Learn more: https://shoulder.dev/learn/python/cwe-190/integer-overflow