Skip to content

docs(changelog): state the 1.2.0 regression and CWE-22 affected range - #372

Merged
dani1005 merged 2 commits into
mainfrom
docs/changelog-regression-note
Jul 30, 2026
Merged

docs(changelog): state the 1.2.0 regression and CWE-22 affected range#372
dani1005 merged 2 commits into
mainfrom
docs/changelog-regression-note

Conversation

@dani1005

Copy link
Copy Markdown
Collaborator

Summary

The rewritten 1.1.4 section now documents the code shipped as everos==1.1.4
on PyPI, which correctly lists the knowledge-upload path traversal (CWE-22) as
fixed. Read top-down, however, that leaves a 1.2.0 reader concluding the fix
predates their version and they are therefore safe — the opposite of the truth.
1.2.0 was built from a branch that never received those fixes, so it regressed
to pre-1.1.4 behaviour, and the changelog says so nowhere.

Three changes, no history rewritten:

  1. The 1.2.1 Fixed entry now names what 1.2.0 regressed, instead of
    describing the merge as internal branch hygiene ("backfilled into main
    so subsequent releases build on top of them"), which tells a user nothing
    about their own exposure.
  2. A Security section under 1.2.1 carries the affected-version range. The
    range is discontinuous — everything before 1.1.4, plus 1.2.0; 1.1.4
    itself is not affected — so it cannot be inferred from "fixed in 1.2.1".
  3. A one-line note under 1.2.0 points forward, covering the reader who looks up
    the version they are running rather than the newest one.

This brings CHANGELOG.md in line with the published
v1.2.1 release notes,
which already carry the same Security block.

Area

  • Architecture method
  • Benchmark
  • Use case
  • Documentation
  • Developer experience
  • CI, build, or release

Verification

Affected-version range verified against the published artifacts, not inferred —
each sdist downloaded from PyPI and _write_original_file inspected:

  everos 1.1.4  -> _safe_original_filename + resolve().is_relative_to  present
  everos 1.2.0  -> target = original_dir / source_name, no validation  ABSENT
  everos 1.2.1  -> containment present

python3 scripts/check_commit_messages.py HEAD^..HEAD  -> pass
No line in the diff exceeds 80 columns (matches surrounding style).
Documentation-only change; no code or tests affected.

Checklist

  • I kept the change scoped to the relevant area.
  • I am opening this from a separate branch, not pushing directly to main.
  • I updated docs, examples, or setup notes when behavior changed.
  • I added or updated tests when the change affects behavior. (N/A — docs only)
  • I did not commit secrets, .env files, dependency folders, or generated output.
  • Active relative links in Markdown files resolve.

Notes for Reviewers

Worth deciding explicitly: should this also be a GitHub Security Advisory?
Right now the only public statement of the 1.2.0 exposure is this changelog
entry plus the v1.2.1 release notes. Without a GHSA, Dependabot will not notify
anyone still running 1.2.0. The repository has one prior advisory,
GHSA-c795-2g9c-j48m, for the sibling sender_id traversal — same class, same
containment approach — so there is precedent for filing one here.

If a GHSA is filed, the affected range needs both segments (< 1.1.4 and
= 1.2.0); collapsing it to < 1.2.1 would incorrectly flag 1.2.0 as the
only safe pre-fix release... and would wrongly mark 1.1.4 users as vulnerable.

By submitting this pull request, I agree that my contribution is licensed under
the Apache License 2.0.

The 1.1.4 section now describes the code shipped as everos==1.1.4 on
PyPI, which lists the path traversal as fixed. Read top-down, that left
a 1.2.0 user concluding the fix predates their version and they are
safe — the opposite of the truth, since 1.2.0 was built from a branch
that never received those fixes.

Three changes, no history rewritten:

- The 1.2.1 Fixed entry now names what 1.2.0 regressed, instead of
  describing the merge as internal branch hygiene.
- A Security section under 1.2.1 carries the affected-version range,
  which is discontinuous: everything before 1.1.4, plus 1.2.0. 1.1.4
  itself is not affected.
- A note under 1.2.0 points forward, so a reader who looks up their own
  version rather than the newest one still finds it.

Matches the published v1.2.1 release notes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dani1005
dani1005 merged commit 27ac6cd into main Jul 30, 2026
9 checks passed
@dani1005
dani1005 deleted the docs/changelog-regression-note branch July 30, 2026 02:33
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.

2 participants