CWE IDs: C#
| ID | Checker name and description |
|---|---|
| CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer |
CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index |
| CWE-1235: Incorrect Use of Autoboxing and Unboxing for Performance Critical Operations |
CS.RESOURCE.AUTOBOXING Autoboxing during operation inside a loop CS.RESOURCE.UNBOXING Unboxing during operation inside a loop |
| CWE-125: Out-of-bounds Read |
CS.ABV.EXCEPT IndexOutOfRange exception while accessing array element |
| CWE-190: Integer Overflow or Wraparound |
CS.SV.TAINTED.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.BINOP Use of unvalidated integer in binary operation |
| CWE-192: Integer Coercion Error |
CS.FRACTION.LOSS Possible loss of fraction |
| CWE-200: Exposure of Sensitive Information to an Unauthorized Actor |
CS.INFORMATION_EXPOSURE.ALL Potential information exposure CS.INFORMATION_EXPOSURE.ATTR Potential security information exposure |
| CWE-20: Improper Input Validation |
CS.SQL.INJECT.LOCAL SQL injection CS.SV.TAINTED.ALLOC_SIZE Use of unvalidated integer in memory allocation CS.SV.TAINTED.CALL.GLOBAL Use of unvalidated integer in an assignment operation CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.CALL.LOOP_BOUND Use of unvalidated integer in loop condition through a function call CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string CS.SV.TAINTED.GLOBAL Use of Unvalidated Integer in an Assignment Operation CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index CS.SV.TAINTED.INJECTION C# command injection CS.SV.TAINTED.LOOP_BOUND Use of unvalidated integer in loop condition CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| CWE-269: Improper Privilege Management |
CS.SV.USAGERULES.PERMISSIONS Use of Privilege Elevation |
| CWE-295: Improper Certificate Validation |
CS.X509.REVOCATION Certificate revocation list check is disabled. CS.X509.VALIDATION Validation of input is not done using AntiForgery.Validate |
| CWE-327: Use of a Broken or Risky Cryptographic Algorithm |
CS.RCA Risky cryptographic algorithm used |
| CWE-352: Cross-Site Request Forgery |
CS.CSRF.ATTR.NOATTR AntiForgery attribute should be added to class or method. CS.CSRF.ATTR.POST AntiForgery attribute should be added to class or method. CS.CSRF.VALIDATE Validation of 'POST request data access' is not done. CS.CSRF.VSUK.CONSTASSIGN A const string is assigned to property 'ViewStateUserKey'. CS.CSRF.VSUK.NOASSIGN Property 'ViewStateUserKey' is not set. |
| CWE-369: Divide By Zero |
CS.DBZ.CONST Division by a zero constant occurs CS.DBZ.CONST.CALL The value '0' is passed to function that can use this value as divisor CS.DBZ.GENERAL Division by zero might occur CS.DBZ.ITERATOR Division by zero might occur in a loop iterator |
| CWE-398: Indicator of Poor Code Quality |
CS.ASSIGN.SELF Assignment of expression to itself CS.CTOR.VIRTUAL Virtual member call in constructor CS.HIDDEN.MEMBER.LOCAL.CLASS Member is hidden by a local variable CS.HIDDEN.MEMBER.LOCAL.STRUCT Member is hidden by a local variable CS.HIDDEN.MEMBER.PARAM.CLASS Member is hidden by a parameter CS.HIDDEN.MEMBER.PARAM.STRUCT Member is hidden by a parameter CS.IFACE.EMPTY Empty interface CS.LOOP.STR.CONCAT String concatenation in a loop |
| CWE-400: Uncontrolled Resource Consumption |
CS.RESOURCE.AUTOBOXING Autoboxing during operation inside a loop CS.RESOURCE.LOOP Object Allocation inside a loop CS.RESOURCE.UNBOXING Unboxing during operation inside a loop CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data |
| CWE-404: Improper Resource Shutdown or Release |
CS.RLK Resource leak |
| CWE-416: Use After Free |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable CS.UFR Using freed resource |
| CWE-426: Untrusted Search Path |
CS.SV.TAINTED.DLLPRELOAD Use of unvalidated string to load a DLL CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal CS.UNSAFE.DLLPRELOAD Use of Attribute to Load a DLL CS.UNSAFE.SEARCH_PATH Use of search path to resolve absolute Path |
| CWE-476: NULL Pointer Dereference |
CS.NRE.CHECK.CALL.MIGHT Reference may be passed to function that can dereference it after it was positively checked for null CS.NRE.CHECK.CALL.MUST Reference will be passed to function that may dereference it after it was positively checked for null CS.NRE.CHECK.MIGHT Reference may be dereferenced after it was positively checked for null CS.NRE.CHECK.MUST Reference will be dereferenced after it was positively checked for null CS.NRE.CONST.CALL Constant null is passed to function that can dereference it CS.NRE.CONST.DEREF Constant null is dereferenced CS.NRE.FUNC.CALL.MIGHT Result of function that may return null may be passed to another function that may dereference it CS.NRE.FUNC.CALL.MUST Result of function that may return null will be passed to another function that may dereference it CS.NRE.FUNC.MIGHT Result of function that can return null may be dereferenced CS.NRE.FUNC.MUST Result of function that may return null will be dereferenced CS.NRE.GEN.CALL.MIGHT Null reference may be passed to function that may dereference it CS.NRE.GEN.CALL.MUST Null reference will be passed to function that may dereference it CS.NRE.GEN.MIGHT Null reference may be dereferenced CS.NRE.GEN.MUST Null reference will be dereferenced CS.RNRE Suspicious dereference before null check |
| CWE-502: Deserialization of Untrusted Data |
CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation |
| CWE-562: Return of Stack Variable Address |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable |
| CWE-570: Expression is Always False |
CS.CMP.VAL.NULL Possible comparing value type expression with 'null' CS.CONSTCOND.DO 'do' controlling expression is always true or always false CS.CONSTCOND.IF 'if' controlling expression is always true or always false CS.CONSTCOND.SWITCH 'switch' selector expression is constant CS.CONSTCOND.TERNARY Controlling condition in conditional expression is always true or always false CS.CONSTCOND.WHILE 'while' controlling expression is always true or always false |
| CWE-596: Incorrect Semantic Object Comparison |
CS.WRONGUSE.REFEQ Improper usage of Object.ReferenceEquals |
| CWE-611: Improper Restriction of XML External Entity Reference |
CS.XXE.DOCUMENT Possible XML External Entity (XXE) Attack CS.XXE.READER Possible XML External Entity (XXE) Attack CS.XXE.TEXT_READER Possible XML External Entity (XXE) Attack |
| CWE-672: Operation on a Resource after Expiration or Release |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable |
| CWE-704: Incorrect Type Conversion or Cast |
CS.UNCHECKED.CAST Object with type 'Object' is incorrectly cast to another object CS.UNCHECKED.LOOPITER.CAST Object with type 'Object' is incorrectly cast to another object in a loop CS.WRONG.CAST Object is incorrectly cast to another object CS.WRONG.CAST.MIGHT Object may be incorrectly cast to another object |
| CWE-732: Incorrect Permission Assignment for Critical Resource |
CS.NPS No permissions set for resource before accessing it |
| CWE-772: Missing Release of Resource after Effective Lifetime |
CS.RLK Resource leak |
| CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection') |
CS.SV.TAINTED.INJECTION C# command injection |
| CWE-787: Out-of-bounds Write |
CS.ABV.EXCEPT IndexOutOfRange exception while accessing array element |
| CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') |
CS.SV.TAINTED.INJECTION C# command injection |
| CWE-798: Use of Hard-coded Credentials |
CS.HCC Use of hardcoded credentials CS.HCC.PWD Use of a hardcoded password CS.HCC.USER Use of a hardcoded user name |
| CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
CS.XSS.PERSIST Cross-site Scripting Persisting Vulnerability CS.XSS.REFLECT Cross-site Scripting Reflecting Vulnerability |
| CWE-862: Missing Authorization |
CS.AUTH.NOATTR Possible missing authorization check |
| CWE-896: SFP Primary Cluster: Tainted Input |
CS.SV.TAINTED.ALLOC_SIZE Use of unvalidated integer in memory allocation CS.SV.TAINTED.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.GLOBAL Use of unvalidated integer in an assignment operation CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.CALL.LOOP_BOUND Use of unvalidated integer in loop condition through a function call CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation CS.SV.TAINTED.DLLPRELOAD Use of unvalidated string to load a DLL CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string CS.SV.TAINTED.GLOBAL Use of Unvalidated Integer in an Assignment Operation CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index CS.SV.TAINTED.INJECTION C# command injection CS.SV.TAINTED.LOOP_BOUND Use of unvalidated integer in loop condition CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
CS.SQL.INJECT.LOCAL SQL injection |
| CWE-94: Improper Control of Generation of Code ('Code Injection') |
CS.SQL.INJECT.LOCAL SQL injection CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string |
| 20 |
CS.SQL.INJECT.LOCAL SQL injection CS.SV.TAINTED.ALLOC_SIZE Use of unvalidated integer in memory allocation CS.SV.TAINTED.CALL.GLOBAL Use of unvalidated integer in an assignment operation CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.CALL.LOOP_BOUND Use of unvalidated integer in loop condition through a function call CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string CS.SV.TAINTED.GLOBAL Use of Unvalidated Integer in an Assignment Operation CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index CS.SV.TAINTED.INJECTION C# command injection CS.SV.TAINTED.LOOP_BOUND Use of unvalidated integer in loop condition CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| 22 |
CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| 77 |
CS.SV.TAINTED.INJECTION C# command injection |
| 78 |
CS.SV.TAINTED.INJECTION C# command injection |
| 79 |
CS.XSS.PERSIST Cross-site Scripting Persisting Vulnerability CS.XSS.REFLECT Cross-site Scripting Reflecting Vulnerability |
| 89 |
CS.SQL.INJECT.LOCAL SQL injection |
| 94 |
CS.SQL.INJECT.LOCAL SQL injection CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string |
| 119 |
CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index |
| 125 |
CS.ABV.EXCEPT IndexOutOfRange exception while accessing array element |
| 190 |
CS.SV.TAINTED.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.BINOP Use of unvalidated integer in binary operation |
| 192 |
CS.FRACTION.LOSS Possible loss of fraction |
| 200 |
CS.INFORMATION_EXPOSURE.ALL Potential information exposure CS.INFORMATION_EXPOSURE.ATTR Potential security information exposure |
| 269 |
CS.SV.USAGERULES.PERMISSIONS Use of Privilege Elevation |
| 295 |
CS.X509.REVOCATION Certificate revocation list check is disabled. CS.X509.VALIDATION Validation of input is not done using AntiForgery.Validate |
| 327 |
CS.RCA Risky cryptographic algorithm used |
| 352 |
CS.CSRF.ATTR.NOATTR AntiForgery attribute should be added to class or method. CS.CSRF.ATTR.POST AntiForgery attribute should be added to class or method. CS.CSRF.VALIDATE Validation of 'POST request data access' is not done. CS.CSRF.VSUK.CONSTASSIGN A const string is assigned to property 'ViewStateUserKey'. CS.CSRF.VSUK.NOASSIGN Property 'ViewStateUserKey' is not set. |
| 369 |
CS.DBZ.CONST Division by a zero constant occurs CS.DBZ.CONST.CALL The value '0' is passed to function that can use this value as divisor CS.DBZ.GENERAL Division by zero might occur CS.DBZ.ITERATOR Division by zero might occur in a loop iterator |
| 398 |
CS.ASSIGN.SELF Assignment of expression to itself CS.CTOR.VIRTUAL Virtual member call in constructor CS.HIDDEN.MEMBER.LOCAL.CLASS Member is hidden by a local variable CS.HIDDEN.MEMBER.LOCAL.STRUCT Member is hidden by a local variable CS.HIDDEN.MEMBER.PARAM.CLASS Member is hidden by a parameter CS.HIDDEN.MEMBER.PARAM.STRUCT Member is hidden by a parameter CS.IFACE.EMPTY Empty interface CS.LOOP.STR.CONCAT String concatenation in a loop |
| 400 |
CS.RESOURCE.AUTOBOXING Autoboxing during operation inside a loop CS.RESOURCE.LOOP Object Allocation inside a loop CS.RESOURCE.UNBOXING Unboxing during operation inside a loop CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data |
| 404 |
CS.RLK Resource leak |
| 416 |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable CS.UFR Using freed resource |
| 426 |
CS.SV.TAINTED.DLLPRELOAD Use of unvalidated string to load a DLL CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal CS.UNSAFE.DLLPRELOAD Use of Attribute to Load a DLL CS.UNSAFE.SEARCH_PATH Use of search path to resolve absolute Path |
| 476 |
CS.NRE.CHECK.CALL.MIGHT Reference may be passed to function that can dereference it after it was positively checked for null CS.NRE.CHECK.CALL.MUST Reference will be passed to function that may dereference it after it was positively checked for null CS.NRE.CHECK.MIGHT Reference may be dereferenced after it was positively checked for null CS.NRE.CHECK.MUST Reference will be dereferenced after it was positively checked for null CS.NRE.CONST.CALL Constant null is passed to function that can dereference it CS.NRE.CONST.DEREF Constant null is dereferenced CS.NRE.FUNC.CALL.MIGHT Result of function that may return null may be passed to another function that may dereference it CS.NRE.FUNC.CALL.MUST Result of function that may return null will be passed to another function that may dereference it CS.NRE.FUNC.MIGHT Result of function that can return null may be dereferenced CS.NRE.FUNC.MUST Result of function that may return null will be dereferenced CS.NRE.GEN.CALL.MIGHT Null reference may be passed to function that may dereference it CS.NRE.GEN.CALL.MUST Null reference will be passed to function that may dereference it CS.NRE.GEN.MIGHT Null reference may be dereferenced CS.NRE.GEN.MUST Null reference will be dereferenced CS.RNRE Suspicious dereference before null check |
| 502 |
CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation |
| 562 |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable |
| 570 |
CS.CMP.VAL.NULL Possible comparing value type expression with 'null' CS.CONSTCOND.DO 'do' controlling expression is always true or always false CS.CONSTCOND.IF 'if' controlling expression is always true or always false CS.CONSTCOND.SWITCH 'switch' selector expression is constant CS.CONSTCOND.TERNARY Controlling condition in conditional expression is always true or always false CS.CONSTCOND.WHILE 'while' controlling expression is always true or always false |
| 596 |
CS.WRONGUSE.REFEQ Improper usage of Object.ReferenceEquals |
| 611 |
CS.XXE.DOCUMENT Possible XML External Entity (XXE) Attack CS.XXE.READER Possible XML External Entity (XXE) Attack CS.XXE.TEXT_READER Possible XML External Entity (XXE) Attack |
| 672 |
CS.LOCRET.ARG Function returns address of local variable CS.LOCRET.GLOB Function returns address of local variable CS.LOCRET.RET Function returns address of local variable |
| 704 |
CS.UNCHECKED.CAST Object with type 'Object' is incorrectly cast to another object CS.UNCHECKED.LOOPITER.CAST Object with type 'Object' is incorrectly cast to another object in a loop CS.WRONG.CAST Object is incorrectly cast to another object CS.WRONG.CAST.MIGHT Object may be incorrectly cast to another object |
| 732 |
CS.NPS No permissions set for resource before accessing it |
| 772 |
CS.RLK Resource leak |
| 787 |
CS.ABV.EXCEPT IndexOutOfRange exception while accessing array element |
| 798 |
CS.HCC Use of hardcoded credentials CS.HCC.PWD Use of a hardcoded password CS.HCC.USER Use of a hardcoded user name |
| 862 |
CS.AUTH.NOATTR Possible missing authorization check |
| 896 |
CS.SV.TAINTED.ALLOC_SIZE Use of unvalidated integer in memory allocation CS.SV.TAINTED.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.BINOP Use of unvalidated integer in binary operation CS.SV.TAINTED.CALL.GLOBAL Use of unvalidated integer in an assignment operation CS.SV.TAINTED.CALL.INDEX_ACCESS Use of unvalidated integer as array index by function call CS.SV.TAINTED.CALL.LOOP_BOUND Use of unvalidated integer in loop condition through a function call CS.SV.TAINTED.CALL.LOOP_BOUND.RESOURCE Resource allocation in a loop is controlled by tainted data CS.SV.TAINTED.DESERIALIZATION Use of unvalidated integer during deserialization in object creation CS.SV.TAINTED.DLLPRELOAD Use of unvalidated string to load a DLL CS.SV.TAINTED.FMTSTR Use of unvalidated data in a format string CS.SV.TAINTED.GLOBAL Use of Unvalidated Integer in an Assignment Operation CS.SV.TAINTED.INDEX_ACCESS Use of unvalidated integer as array index CS.SV.TAINTED.INJECTION C# command injection CS.SV.TAINTED.LOOP_BOUND Use of unvalidated integer in loop condition CS.SV.TAINTED.LOOP_BOUND.RESOURCE Resource allocation in a loop controlled by tainted data CS.SV.TAINTED.PATH_TRAVERSAL Use of unvalidated data in a path traversal |
| 1235 |
CS.RESOURCE.AUTOBOXING Autoboxing during operation inside a loop CS.RESOURCE.UNBOXING Unboxing during operation inside a loop |
Support Summary:
- 32 rules