Skip to content

pyload Log Injection vulnerability

Moderate severity GitHub Reviewed Published Jan 6, 2024 in pyload/pyload • Updated Jan 8, 2024

Package

pip pyload-ng (pip)

Affected versions

< 0.5.0b3.dev77

Patched versions

0.5.0b3.dev77

Description

Summary

A log injection vulnerability was identified in pyload. This vulnerability allows any unauthenticated actor to inject arbitrary messages into the logs gathered by pyload.

Details

pyload will generate a log entry when attempting to sign in with faulty credentials. This entry will be in the form of Login failed for user 'USERNAME'. However, when supplied with a username containing a newline, this newline is not properly escaped. Newlines are also the delimiter between log entries. This allows the attacker to inject new log entries into the log file.

PoC

Run pyload in the default configuration by running the following command

pyload

We can now sign in as the pyload user and view the logs at http://localhost:8000/logs.
Viewing the logs

Any unauthenticated attacker can now make the following request to inject arbitrary logs.

curl 'http://localhost:8000/login?next=http://localhost:8000/' -X POST -H 'Content-Type: application/x-www-form-urlencoded' --data-raw $'do=login&username=wrong\'%0a[2024-01-05 02:49:19]  HACKER               PinkDraconian  THIS ENTRY HAS BEEN INJECTED&password=wrong&submit=Login'

If we now were to look at the logs again, we see that the entry has successfully been injected.
PoC2

Impact

Forged or otherwise, corrupted log files can be used to cover an attacker’s tracks or even to implicate another party in the commission of a malicious act.

References

@GammaC0de GammaC0de published to pyload/pyload Jan 6, 2024
Published by the National Vulnerability Database Jan 8, 2024
Published to the GitHub Advisory Database Jan 8, 2024
Reviewed Jan 8, 2024
Last updated Jan 8, 2024

Severity

Moderate
5.3
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Weaknesses

CVE ID

CVE-2024-21645

GHSA ID

GHSA-ghmw-rwh8-6qmr

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.