Skip to content

chore: release 0.15.0 - #172

Merged
SizzleUnrlsd merged 1 commit into
mainfrom
release/0.15.0
Sep 26, 2026
Merged

SizzleUnrlsd merged 1 commit into
mainfrom
release/0.15.0

Conversation

@SizzleUnrlsd

Copy link
Copy Markdown
Contributor

Release 0.15.0 adds two changes, #168 and #170. Both rest on one proof about URLs, which each rule reads with its own criteria.

  • Open-redirect destinations (Precision: open-redirect judges the destination a browser resolves from the target's constant text #168). open-redirect now judges each flow on the destination a browser resolves from the target's constant text.

    • A reference on the current site ("/profile/" + id, ?, #, or profile/) is refuted.
    • A fixed absolute host is a hotspot, since that host may redirect again.
    • Everything else stays a vulnerability. That includes "/" + next, because //evil.com is another host.

    The proof is shared through coretrace_python.taint.urls. ssrf now reads it too, with unchanged verdicts.

  • Advisory host conditions (Advisories: a host condition decided from the URL's constant text #170). An advisory entry point may declare a host condition: the attacker must choose the host of a URL. The engine decides it from the same proof.

    • A fixed host with redirects disabled leaves the call reachable, not exploitable.
    • A fixed host with redirects followed stays exploitable, and the pending condition says a redirect may lead to a host the attacker controls.
    • Anything else stays pending.

    The environment conditions stay visible. The loader rejects a host condition that does not name its argument.

The regression corpus is unchanged. The curated requests advisories of the Enterprise plugins will declare host conditions once this release is published.

Changes in this PR

  • Version: bumped in pyproject.toml, coretrace_python.__version__, the release test, and the three version examples of the usage guide: the JSON report, its tool.components, and the VEX tooling.
  • CHANGELOG.md: the Unreleased section is dated as 0.15.0. No entry changed.

Verification

  • pytest: 1285 passed (build installed, so the wheel tests run too).
  • pytest -m regression under Python 3.12: 19 passed.
  • ruff check on the tracked files and mypy: clean.

Tag v0.15.0 after merge to publish.

@SizzleUnrlsd SizzleUnrlsd added the chore Maintenance: releases, build, CI and refactoring label Sep 26, 2026
@SizzleUnrlsd SizzleUnrlsd self-assigned this Sep 26, 2026
@SizzleUnrlsd
SizzleUnrlsd merged commit c1780e1 into main Sep 26, 2026
10 checks passed
@SizzleUnrlsd
SizzleUnrlsd deleted the release/0.15.0 branch September 26, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance: releases, build, CI and refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant