Cloudanix VulnDB

CVE-2024-1681

Medium · 5.3

CVSS

5.3

EPSS

0.6%

Published

Apr 19, 2024

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Attackers can sneak fake entries into an application's log files by sending specially crafted web requests, making it harder to spot real security problems.

Chainable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Tampering
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Improper neutralization of CRLF sequences in request paths allows an unauthenticated remote attacker to inject arbitrary text into application debug logs when log level is set to DEBUG.

Why it matters to the business

Attackers can corrupt or forge log entries, potentially hiding evidence of other intrusions, defeating log analysis tools, and complicating incident response without direct system compromise.

How an attack unfolds

An attacker sends a crafted GET request containing CRLF characters in the URL path to any endpoint protected by flask-cors; when the application is running with debug logging enabled, the injected content is written verbatim into the log file, allowing forged entries or log poisoning.

How to fix it

Upgrade arvados/arvados to commit 70d75d34808372e4ae3aeffc6347e28b916f35e4 or later; ensure production deployments run with logging level higher than DEBUG; sanitize or encode log output for any user-controlled fields.

How to confirm the fix worked

Confirm the presence of the fixed commit in the running codebase; test that CRLF sequences in request paths no longer appear verbatim in debug logs; review logging configuration to verify non-debug levels in production.

Typical attack path

  1. Identify an application endpoint that uses flask-cors and has debug logging enabled.
  2. Craft a GET request whose path contains %0D%0A or literal CRLF followed by attacker-controlled log text.
  3. Send the request to inject the desired log lines.
  4. Use the corrupted logs to mask subsequent malicious activity or mislead investigators.

How to detect it

Search web server and application logs for requests containing encoded or literal CRLF sequences in the path; look for log lines that appear out of context or contain HTTP request fragments without corresponding legitimate entries.

  • %0D%0A in request paths
  • CRLF sequences followed by common log forgery strings such as 'GET /fake' or timestamp manipulation

What your security team should do

  • Immediately apply the referenced commit or newer release to all arvados deployments.
  • Disable debug logging in all production and staging environments.
  • Add input sanitization or structured logging that prevents raw user input from reaching log files.
  • Audit recent logs for suspicious injected entries if debug logging was previously active.

The record

corydolphin/flask-cors is vulnerable to log injection when the log level is set to debug. An attacker can inject fake log entries into the log file by sending a specially crafted GET request containing a CRLF sequence in the request path. This vulnerability allows attackers to corrupt log files, potentially covering tracks of other attacks, confusing log post-processing tools, and forging log entries. The issue is due to improper output neutralization for logs.

Affected packages

Ecosystem Package Introduced Fixed
PyPI flask-cors 0 4.0.1
Chainguard kubeflow-jupyter-web-app 0 1.8.0-r7
Chainguard kubeflow-volumes-web-app 0 1.8.0-r6
Chainguard py3-flask-cors 0 4.0.1-r0
Chainguard py3-supported-flask-cors 0 4.0.1-r0
Chainguard py3.10-flask-cors 0 4.0.1-r0
Chainguard py3.11-flask-cors 0 4.0.1-r0
Chainguard py3.12-flask-cors 0 4.0.1-r0
Chainguard py3.13-flask-cors 0 4.0.1-r0
Debian:11 python-flask-cors 0 No fix
Debian:12 python-flask-cors 0 No fix
Debian:13 python-flask-cors 0 4.0.1-1
Debian:14 python-flask-cors 0 4.0.1-1
Mageia:9 python-flask-cors 0 3.0.10-1.1.mga9
Ubuntu:20.04:LTS python-flask-cors 0 No fix
Ubuntu:22.04:LTS python-flask-cors 0 No fix
Ubuntu:22.04:LTS python-flask-cors 0 3.0.9-2ubuntu0.1
Ubuntu:24.04:LTS python-flask-cors 0 No fix
Ubuntu:24.10 python-flask-cors 0 No fix
Ubuntu:Pro:20.04:LTS python-flask-cors 0 3.0.8-2ubuntu0.1+esm1
Ubuntu:Pro:24.04:LTS python-flask-cors 0 4.0.0-1ubuntu0.1~esm1
Wolfi kubeflow-jupyter-web-app 0 1.8.0-r7
Wolfi kubeflow-volumes-web-app 0 1.8.0-r6
Wolfi py3-flask-cors 0 4.0.1-r0
Wolfi py3-supported-flask-cors 0 4.0.1-r0
Wolfi py3.10-flask-cors 0 4.0.1-r0
Wolfi py3.11-flask-cors 0 4.0.1-r0
Wolfi py3.12-flask-cors 0 4.0.1-r0
Wolfi py3.13-flask-cors 0 4.0.1-r0
openSUSE:Tumbleweed python-Flask-Cors 0 4.0.1-1.1

Related vulnerabilities