Project

General

Profile

Bug #2646

closed

Log injection vulnerability in mod_auth

Added by stbuehler over 5 years ago. Updated over 5 years ago.

Status:
Fixed
Priority:
High
Category:
-
Target version:
ASK QUESTIONS IN Forums:

Description

Reported via mail by Jaanus Kääp (http://jaanuskp.blogspot.de/2015/05/cve-2015-3200.html)

When basic HTTP authentication base64 string does not contain colon character (or contains it after NULL byte - can be inserted inside base64 encoding), then that ituation is logged with a string ": is missing in " and the simply decoded base64 string. This means that new lines, NULL byte and everything else can be encoded with base64 and are then inserted to logs as they are after decoding.

For example header Authorization: Basic dGVzdAAKMjEwMC0wMS0wMSAwMDowMDowMDogKG1hZ2ljLmMuODU5KSBJVCdTIFRIRSBFTkQgT0YgVEhFIFdPUkxEIQ==
results in two log lines:

2015-05-14 12:55:54: (http_auth.c.859) : is missing in test
2100-01-01 00:00:00: (magic.c.859) IT'S THE END OF THE WORLD

#1

Updated by petrs over 5 years ago

Possible fix:

860c860
<               log_error_write(srv, __FILE__, __LINE__, "sb", ": is missing in", username);
---
>               log_error_write(srv, __FILE__, __LINE__, "s", ": is missing in decoded base64-string");

#2

Updated by stbuehler over 5 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset r2989.

Also available in: Atom