c2corg / c2corg/v6_api

Possible fix(deps): 2 vulnerable dependencies in requirements.txt

Open Beginner friendly
#2,242 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
26
Forks
28
Avg merge
4h
Merged PRs (30d)
9

Description

I think there may be a problem in `requirements.txt` around line 13.

CVE-2025-69534 (MEDIUM severity, escalated to HIGH contextual risk when untrusted input is rendered): The pinned Markdown==3.7 dependency in requirements.txt (line 13) is vulnerable to a remote Denial of Service. Malformed HTML-like sequences in attacker-supplied Markdown cause Python's html.parser.HTMLParser to raise an unhandled AssertionError, which python-markdown does not catch. Any service that renders untrusted Markdown (web apps, documentation platforms, CI/CD pipelines) can be crashed remotely by an unauthenticated attacker, and uncaught exceptions may leak stack traces/internal paths (information disclosure). No code execution is possible; impact is primarily availability with secondary confidentiality concerns. Risk is MEDIUM in general, but HIGH if your application processes user-controlled Markdown — upgrade is strongly recommended.

Something like this might fix it:

```diff
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@
-Markdown==3.7
+Markdown==3.8.1 # CVE-2025-69534: fixes unhandled AssertionError/DoS when parsing malformed HTML-like Markdown

Post-patch steps:
1. Regenerate lock files if used (pip-compile, poetry lock, pipenv lock).
2. Rebuild and redeploy the affected image/environment.
3. Verify the resolved version: 'pip show Markdown' should report 3.8.1.
4. If exact pinning is not your convention, use a range instead: 'Markdown>=3.8.1,<4' and add a CI check (e.g., pip-audit/trivy) to prevent regressions.
5. Optionally add a regression test rendering the known malformed HTML-like payload to confirm the crash is resolved.
```

For reference: rule `CVE-2025-69534`. Rated high.

I have not run the test suite here, so treat the suggestion as a starting point rather than something ready to merge.

---
*Found with automated scanning ([RedGem](https://code.redgem.net)) and reviewed before opening. If it is not useful, closing it is completely fine.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with requirements.txt around line 13 and inspect the dependency pins, including the second vulnerable dependency referenced by the title. Update the affected pin or pins, regenerate lock files if used, and verify that pip show Markdown reports 3.8.1; done means the vulnerable versions are no longer resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.