Log injection in SimpleSAMLphp before version 1.18.4. The www/erroreport.php script, which receives error reports and sends them via email to the system administrator, did not properly sanitize the report identifier obtained from the request. This allows an attacker, under specific circumstances, to inject new log lines by manually crafting this report ID. When configured to use the file logging handler, SimpleSAMLphp will output all its logs by appending each log line to a given file. Since the reportID parameter received in a request sent to www/errorreport.php was not properly sanitized, it was possible to inject newline characters into it, effectively allowing a malicious user to inject new log lines with arbitrary content.
Information written to log files can be of a sensitive nature and give valuable guidance to an attacker or expose sensitive user information.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Simplesamlphp | Simplesamlphp | * | 1.18.4 (excluding) |
Simplesamlphp | Ubuntu | bionic | * |
Simplesamlphp | Ubuntu | eoan | * |
Simplesamlphp | Ubuntu | esm-apps/bionic | * |
Simplesamlphp | Ubuntu | esm-apps/xenial | * |
Simplesamlphp | Ubuntu | trusty | * |
Simplesamlphp | Ubuntu | upstream | * |
Simplesamlphp | Ubuntu | xenial | * |
While logging all information may be helpful during development stages, it is important that logging levels be set appropriately before a product ships so that sensitive user data and system information are not accidentally exposed to potential attackers. Different log files may be produced and stored for: