Recipe Name:
Untrusted input in logging
Description:
Prevent log injection by filtering untrusted input
Level:
info
Language:
- java
Tags:
- security
- OWASP Top 10
- framework specific
- logging
- Logger
- injection
Documentation
Untrusted inputs in logging should be filtered to prevent log injection.
When newline characters are allowed to be logged, this could lead to fake messages being inserted into the logs by an attacker.
References
Recipe
id: scw:logging:log-untrusted-input version: 10 metadata: name: Untrusted input in logging shortDescription: Prevent log injection by filtering untrusted input level: info language: java scwCategory: injection:generic cweCategory: 117 enabled: true comment: "" descriptionFile: Java/Logging/descriptions/Untrusted_input_in_logging.html tags: security;OWASP Top 10;framework specific;logging;Logger;injection search: argument: in: methodcall: name: log type: java.util.logging.Logger type: java.lang.String value: containsUntrustedInput: true availableFixes: - name: Filter newline characters actions: - rewrite: to: ({{{ markedElement }}}).replaceAll("(\\r|\\n)","")