GHSA-4f99-4q7p-p3gh
Logrus is vulnerable to DoS when using Entry.Writer()
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/sirupsen/logrus | < 1.8.3 | 1.8.3 |
| Go | github.com/sirupsen/logrus | >= 1.9.0, < 1.9.1 | 1.9.1 |
| Go | github.com/sirupsen/logrus | >= 1.9.2, < 1.9.3 | 1.9.3 |
Details
As written in the advisory (Markdown source, shown as plain text).
A denial-of-service vulnerability exists in github.com/sirupsen/logrus when using Entry.Writer() to log a single-line payload larger than 64KB without newline characters. Due to limitations in the internal bufio.Scanner, the read fails with "token too long" and the writer pipe is closed, leaving Writer() unusable and causing application unavailability (DoS). This affects versions < 1.8.3, 1.9.0, and 1.9.2. The issue is fixed in 1.8.3, 1.9.1, and 1.9.3+, where the input is chunked and the writer continues to function even if an error is logged.
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2025-65637
- https://github.com/sirupsen/logrus/issues/1370
- https://github.com/sirupsen/logrus/pull/1376
- https://github.com/sirupsen/logrus/commit/6acd903758687c4a3db3c11701e6c414fcf1c1f7
- https://github.com/mjuanxd/logrus-dos-poc
- https://github.com/mjuanxd/logrus-dos-poc/blob/main/README.md
- https://github.com/sirupsen/logrus
- https://github.com/sirupsen/logrus/releases/tag/v1.8.3
- https://github.com/sirupsen/logrus/releases/tag/v1.9.1
- https://github.com/sirupsen/logrus/releases/tag/v1.9.3
- https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMSIRUPSENLOGRUS-5564391