# 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:** Go - Prevalence: मध्यम 3 भाषाएँ कवर की गईं - Impact: मध्यम समीक्षा अनुशंसित - Prevention: प्रलेखित 3 फिक्स उदाहरण **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 1 Shoulder डिटेक्शन नियमों पर आधारित Integer Overflow के लिए रोकथाम रणनीतियाँ। ### Go Validate bounds before arithmetic operations with user-controlled integers ## Consequences - DoS - अनधिकृत कोड निष्पादित करना - एप्लिकेशन डेटा संशोधित करना ## Mitigations - ऐसी भाषाओं या लाइब्रेरीज़ का उपयोग करें जो integer overflow की जाँच करती हैं - सत्यापित करें कि इनपुट अपेक्षित सीमाओं के भीतर हों - ऐसे सुरक्षित अंकगणितीय फ़ंक्शनों का उपयोग करें जो overflow की जाँच करते हैं ## Detection - Total rules: 3 - Languages: go, javascript, typescript, python ## Rules by Language ### Go (1 rules) - **Integer Overflow via Unchecked Arithmetic** [MEDIUM]: User-controlled integer used in arithmetic or allocation without bounds checking. - Remediation: Validate bounds before arithmetic operations with user input. ```go count, err := strconv.Atoi(r.URL.Query().Get("count")) if err != nil || count < 0 || count > 10000 { return errors.New("invalid count") } buffer := make([]byte, count*1024) ``` Learn more: https://shoulder.dev/learn/go/cwe-190/integer-overflow