Modes d'introduction
Implementation : REALIZATION: This weakness is caused during implementation of an architectural security tactic.
Plateformes applicables
Langue
Class: Not Language-Specific (Undetermined)
Conséquences courantes
Portée |
Impact |
Probabilité |
Integrity | Modify Application Data | |
Exemples observés
Références |
Description |
| CRLF injection enables spam proxy (add mail headers) using email address or name. |
| CRLF injection in API function arguments modify headers for outgoing requests. |
| Spoofed entries in web server log file via carriage returns |
| Chain: inject fake log entries with fake timestamps using CRLF injection |
| Chain: Application accepts CRLF in an object ID, allowing HTTP response splitting. |
| Chain: HTTP response splitting via CRLF in parameter related to URL. |
Mesures d’atténuation potentielles
Phases : Implementation
Avoid using CRLF as a special sequence.
Phases : Implementation
Appropriately filter or quote CRLF sequences in user-controlled input.
Méthodes de détection
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Efficacité : High
Notes de cartographie des vulnérabilités
Justification : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Commentaire : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Modèles d'attaque associés
CAPEC-ID |
Nom du modèle d'attaque |
CAPEC-15 |
Command Delimiters An attack of this type exploits a programs' vulnerabilities that allows an attacker's commands to be concatenated onto a legitimate command with the intent of targeting other resources such as the file system or database. The system that uses a filter or denylist input validation, as opposed to allowlist validation is vulnerable to an attacker who predicts delimiters (or combinations of delimiters) not present in the filter or denylist. As with other injection attacks, the attacker uses the command delimiter payload as an entry point to tunnel through the application and activate additional attacks through SQL queries, shell commands, network scanning, and so on. |
CAPEC-81 |
Web Server Logs Tampering Web Logs Tampering attacks involve an attacker injecting, deleting or otherwise tampering with the contents of web logs typically for the purposes of masking other malicious behavior. Additionally, writing malicious data to log files may target jobs, filters, reports, and other agents that process the logs in an asynchronous attack pattern. This pattern of attack is similar to "Log Injection-Tampering-Forging" except that in this case, the attack is targeting the logs of the web server and not the application. |
Références
REF-928
CRLF Injection
Ulf Harnhammar.
http://marc.info/?l=bugtraq&m=102088154213630&w=2 REF-1456
CRLF Injection
Imperva.
https://www.imperva.com/learn/application-security/crlf-injection// REF-1457
CRLF injection
R00tendo.
https://medium.com/@R00tendo/crlf-injection-ae26521c5e4c
Soumission
Nom |
Organisation |
Date |
Date de publication |
Version |
PLOVER |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
Modifications
Nom |
Organisation |
Date |
Commentaire |
Sean Eidemiller |
Cigital |
2008-07-01 +00:00 |
added/updated demonstrative examples |
Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Time_of_Introduction |
CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Relationships, Other_Notes, Taxonomy_Mappings, Weakness_Ordinalities |
CWE Content Team |
MITRE |
2009-03-10 +00:00 |
updated References |
CWE Content Team |
MITRE |
2009-05-27 +00:00 |
updated Name |
CWE Content Team |
MITRE |
2009-10-29 +00:00 |
updated Other_Notes |
CWE Content Team |
MITRE |
2009-12-28 +00:00 |
updated Likelihood_of_Exploit |
CWE Content Team |
MITRE |
2010-02-16 +00:00 |
updated Related_Attack_Patterns, Taxonomy_Mappings |
CWE Content Team |
MITRE |
2010-04-05 +00:00 |
updated Related_Attack_Patterns |
CWE Content Team |
MITRE |
2010-06-21 +00:00 |
updated Description, Name |
CWE Content Team |
MITRE |
2011-03-29 +00:00 |
updated Description |
CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Potential_Mitigations |
CWE Content Team |
MITRE |
2014-07-30 +00:00 |
updated Relationships, Taxonomy_Mappings |
CWE Content Team |
MITRE |
2015-12-07 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Applicable_Platforms, Causal_Nature, Likelihood_of_Exploit, Modes_of_Introduction, References, Relationships |
CWE Content Team |
MITRE |
2019-06-20 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2021-10-28 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2022-04-28 +00:00 |
updated Research_Gaps |
CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Description |
CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Detection_Factors, Relationships, Time_of_Introduction |
CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
CWE Content Team |
MITRE |
2024-11-19 +00:00 |
updated Demonstrative_Examples |
CWE Content Team |
MITRE |
2025-04-03 +00:00 |
updated Diagram, References |