The 2011 CWE/SANS Top 25 Most Dangerous Software Errors is a list of the most widespread and critical errors that can lead to serious vulnerabilities in software. They are often easy to find, and easy to exploit. They are dangerous because they will frequently allow attackers to completely take over the software, steal data, or prevent the software from working at all.
This guide provides a quick overview about Intershop's approaches to avoid such vulnerabilities.
|Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
To avoid SQL injection vulnerability, only prepared statements with parameter binding are used.
See also Guide - OWASP Top Ten Project 2013.
|Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
|Intershop does not execute any OS commands.
|Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
|Intershop is Java-based and buffer overflows cannot happen.
|Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
|Intershop uses ISML encoding (
function). Additional encoding handlers can be registered and used for custom encoding requirements.
|Missing Authentication for Critical Function
Every critical function is available for authenticated users only.
Intershop uses role and permission based authorization. Permissions are checked automatically for every function in the prefix-pipeline.
|Use of Hard-coded Credentials
|There are no hard-coded credentials used in Intershop.
|Missing Encryption of Sensitive Data
Intershop's encryption library uses standard encryption algorithms and implementations. All sensitive data can be encrypted.
|Unrestricted Upload of File with Dangerous Type
|There is no file upload possibility in the storefront.Upload of files in the management application is only possible for authorized users. File validation for import files is implemented. Additional checks can be added as customization.
|Reliance on Untrusted Inputs in a Security Decision
Does not happen in the standard product. Ensured by code reviews.
|Execution with Unnecessary Privileges
The application servers and web servers use their own users with their own permissions.
|Cross-Site Request Forgery (CSRF)
|See Concept - Cross-Site Request Forgery Guard and Cookbook - Cross-Site Request Forgery Guard.
|Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Checks in the prefix-pipeline and special pipelets that validate paths.
|Download of Code Without Integrity Check
Intershop never downloads source codes. Downloads of binary software artifacts happens through a secure channel.
Intershop has standard ACL permission checks for every functionality (pipelines). Additionally pipelines have a visibility property, so that internal pipelines cannot be called externally.
|Inclusion of Functionality from Untrusted Control Sphere
3rd party libraries are selected carefully and are regularly checked to security vulnerabilities (e.g., VersionEye).
|Incorrect Permission Assignment for Critical Resource
Intershop has standard ACL permission checks for every functionality (pipelines). Roles can be assigned in Intershop Studio.
|Use of Potentially Dangerous Function
|Does only affect C and C++, Intershop is Java-based.
|Use of a Broken or Risky Cryptographic Algorithm
Intershop's encryption library uses standard encryption algorithms and implementations. Algorithms are configurable.
|Incorrect Calculation of Buffer Size
|Does only affect C and C++, Intershop is Java based.
|Improper Restriction of Excessive Authentication Attempts
Intershop has a mechanism that counts failed login attempts and disables the account for a certain period. Additionally captchas are supported.
|URL Redirection to Untrusted Site ('Open Redirect')
The prefix-pipeline checks ensure that redirect targets cannot come from parameters.
|Uncontrolled Format String
|Does not apply to Java.
|Integer Overflow or Wraparound
|Intershop uses code reviews and static code analysis.
|Use of a One-Way Hash without a Salt
|Intershop uses PBKDF2 with large random "Salt" values for unique password hashes.