Skip to content

Add CWE-601 open redirect test case (Python) - #174

Merged
ralyodio merged 7 commits into
profullstack:masterfrom
ezequiellich44-cmd:feat/open-redirect-python
Aug 17, 2026
Merged

Add CWE-601 open redirect test case (Python)#174
ralyodio merged 7 commits into
profullstack:masterfrom
ezequiellich44-cmd:feat/open-redirect-python

Conversation

@ezequiellich44-cmd

Copy link
Copy Markdown
Contributor

Test Case Submission

  • I have read docs/CONTRIBUTING.md
  • This test case is non-destructive — no disk, network, or process side effects
  • Every payload is behind a dead-code guard (if False:)
  • Every host literal uses a reserved domain (example.invalid)
  • No credentials included
  • I have included all required metadata
  • I marked the expected lines with VULNERABLE: and correct-code lines with SAFE:
  • I ran the validation (metadata, guards, syntax)
  • I regenerated the catalog and committed the result

Details

  • Vulnerability type: Open redirect via unvalidated next parameter
  • CWE ID: CWE-601
  • Language: Python (Flask)
  • Expected detection: Yes
  • Why this pattern matters: Redirecting to a tainted next param (or a broken startswith host
    check that host.attacker.example.invalid bypasses) lets an attacker phish users under the
    original domain's trust. Adds the Python surface with a relative-path allow-list SAFE: control.

Safety statement

All handlers are wrapped in if False: and never invoked. No response is produced and no hosts
except RFC 2606 .invalid appear. Nothing performs I/O even if the guard were removed.

Scanner result

Leave blank on submission — CI fills this in.

@ezequiellich44-cmd

Copy link
Copy Markdown
Contributor Author

Fifth submission for the uGig listing: Python CWE-601 open-redirect case (2 VULNERABLE: + 1 SAFE:).

…asses

api.example.com resolves, which trips safety rule 3 (no resolvable
network destinations). Switch to api.example.invalid (RFC 2606) and
correct the @safe-guard text, which claimed no hosts were referenced.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment thread vulns/VULNERABILITY_CATALOG.json Dismissed
Comment thread vulns/python/eval-code-injection.py Dismissed
Comment thread vulns/python/eval-code-injection.py Dismissed
Comment thread vulns/python/eval-code-injection.py Dismissed
Comment thread vulns/python/tls-verify-disabled.py Dismissed
Comment thread vulns/python/tls-verify-disabled.py Dismissed
Regenerated the catalog rather than hand-resolving it, which is the only
resolution that cannot silently drop an entry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 24dae46 into profullstack:master Aug 17, 2026
5 checks passed
@ezequiellich44-cmd

Copy link
Copy Markdown
Contributor Author

/coinpay invoice 19 USD --crypto sol --wallet 3fZSMAyCEMhZwWiynbJDjoYNUT97aiV9BLzoUNroEMAz --for "Merged malware test-case submission PR #174: CWE-601 open redirect (commit 2a43b4b)"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants