github Katakate/k7 v0.2.1
v0.2.1 — security release

3 hours ago

[0.2.1] — 2026-08-15

Security release. Everyone running the k7-api control plane on 0.2.0 or
earlier should upgrade. Both issues were reported privately by
Jirayu Thongchotchaung (@JirayuThongchotchaung),
who held disclosure until this release was available — thank you.

Fixed

  • Server-side request forgery via the sandbox image registry host
    (CWE-918). A sandbox creation request could name a registry host that
    resolves to a loopback, link-local, or private address and make the
    control plane issue the OCI fetch on the caller's behalf. Registry hosts
    are now resolved and checked against public/allowlisted ranges before
    any fetch, the localhost → plain-HTTP downgrade is gone, and redirects
    are disabled so an allowlisted host cannot bounce the request inward.
    Resolution runs off the event loop, so the check cannot stall the API.

Added

  • Optional per-key namespace authorization (CWE-862 / CWE-285).
    API keys can be scoped to one or more namespaces with
    k7 generate-api-key -n <namespace>, enforced on every namespace-bearing
    endpoint; a scoped key cannot read or mutate another namespace and cannot
    perform all-namespaces operations. Keys without a scope keep their
    previous unrestricted behaviour, so this is backward compatible — scope
    your keys to benefit from it.

Changed

  • SECURITY.md states the supported release line accurately.
  • Debian packaging targets amd64 explicitly and no longer runs the test
    suite inside build chroots, which is what the Launchpad PPA needs.

Don't miss a new k7 release

NewReleases is sending notifications on new releases.