Use a secure programming language
Summary
System source code must be implemented in a stable, updated, tested and free of known vulnerabilities version of the chosen programming language.
Description
Systems that use an updated and secure version of the programming language helps to mitigate known vulnerabilities that might exist in older versions. Security vulnerabilities in the language itself could be exploited by attackers to compromise the integrity, confidentiality, or availability of the system.
References
- CAPEC-123. Buffer manipulation
- CAPEC-129. Pointer manipulation
- CAPEC-131. Resource leak exposure
- CIS-16_1. Establish and maintain a secure application development process
- CWE-74. Improper neutralization of special elements in output used by a downstream component ("injection")
- CWE-400. Uncontrolled resource consumption
- CWE-710. Improper adherence to coding standards
- CWE-1325. Improperly controlled sequential memory allocation
- OWASP10-A6. Vulnerable and outdated components
- AGILE-9. Continuous attention to technical excellence and good design
- CERTJ-MET03-J. Methods that perform a security check must be declared private or final
- MITRE-M1013. Application developer guidance
- SANS25-4. User after free
- SANS25-5. Improper neutralization of special elements used in an OS command (OS command injection)
- SANS25-7. Out-of-bounds read
- SANS25-17. Improper restriction of operations within the bounds of a memory buffer
- CMMC-AT_L2-3_2_1. Role-based risk awareness
- HITRUST-10_j. Access control to program source code
- ISO27002-8_28. Secure coding
- WASC-A_07. Buffer overflow
- NISTSSDF-PW_5_1. Archive and protect each software release
- NISTSSDF-PW_6_1. Configure the compilation, interpreter, and build processes to improve executable security
- ISSAF-P_6_3. Host security - Linux security (buffer overflows)
- ISSAF-U_15. Web application SQL injections – Countermeasures
- PTES-5_5_7. Vulnerability analysis - Disassembly and code analysis
- MVSP-2_5. Application design controls - Security libraries
- CWE25-78. Improper neutralization of special elements used in an OS command (OS command injection)
- CWE25-119. Improper restriction of operations within the bounds of a memory buffer
- CWE25-125. Out-of-bounds read
- CWE25-416. User after free
- OSAMM-ST. Security Testing
- ASVS-5_4_1. Memory, string, and unmanaged code
- C2M2-9_4_d. Implement software security for cybersecurity architecture
- SIGLITE-SL_89. Is there a formal Software Development Life Cycle (SDLC) process?
- SIG-I_2_1. Application security
- ASVS-14_1_2. Build and deploy
- ISO27001-8_28. Secure coding
- CASA-14_1_1. Build and Deploy
- NIST-PR_PS-06. Secure software development practices are integrated, and their performance is monitored throughout the software development life cycle
Weaknesses
- 067. Improper resource allocation
- 174. Insecure service configuration - Backdoor
- 304. Inappropriate coding practices - Performance
- 316. Improper resource allocation - Buffer overflow
- 317. Improper resource allocation - Memory leak
- 352. Insecure service configuration - Non Masked Variables
- 358. Insecure service configuration - DocumentBuilderFactory
- 366. Inappropriate coding practices - Transparency Conflict
Search for vulnerabilities in your apps for free with Fluid Attacks' automated security testing! Start your 21-day free trial and discover the benefits of the Continuous Hacking Essential plan.If you prefer the Advanced plan, which includes the expertise of Fluid Attacks' hacking team, fill out this contact form.
Supported In
This requirement is verified in following services
Essential Plan
Advanced Plan