Files
cozystack/docs/security/incident-response.md
T
Timur Tukaev e1fc2ab82e docs(security): fix the supported set at three lines and record that no backport rule exists
Maintainer decisions on the two questions this branch raised rather than
answered.

Supported versions are the latest stable minor and the two minors preceding it.
Expressed as a rolling rule, so it names concrete lines when read against the
Releases page without going stale, and it replaces the activity-window test,
which classified every 1.x line back to 1.0 as supported and so described
something wider than the project does.

There is no documented rule for choosing which supported lines a fix is
backported to; it is a per-fix maintainer decision weighing severity against
backport risk. Say that plainly in SECURITY.md instead of implying a policy.

That also resolves the promise in the incident-response process, which said a
fix ships across all affected supported release lines. It does not necessarily,
and with no rule governing the choice that sentence committed the project to
something it has not agreed. Point at the per-fix decision instead.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Timur Tukaev <timur.tukaev@aenix.io>
2026-08-10 21:55:37 +05:00

3.5 KiB

Incident Response

This document is the public summary of how the Cozystack maintainers respond to a confirmed security vulnerability or incident. Detailed operational procedures (contact trees, credential inventories, and step-by-step checklists) are maintained privately by the maintainers; this page describes the process and the mechanisms it relies on so that reporters and users know what to expect.

It complements, and does not replace:

  • SECURITY.md — how to report a vulnerability, response commitments, and the disclosure timeline.
  • CONTRIBUTOR_LADDER.md — the offboarding procedure, including access revocation and credential rotation.

Roles

For each incident the maintainers designate:

  • Incident lead — a maintainer (typically a core maintainer) who coordinates triage, the fix, the release, and disclosure, and keeps the reporter informed.
  • Comms owner — responsible for the public advisory and release-notes wording, and for any coordination with upstream projects and CNCF.
  • Fix owner(s) — the maintainer(s) developing and reviewing the fix.

One person may hold more than one role on a small incident.

Lifecycle

  1. Intake. A report arrives through GitHub Private Vulnerability Reporting or a private maintainer contact (see SECURITY.md). Receipt is acknowledged within 3 business days.
  2. Triage and severity. The maintainers reproduce the issue and assign a CVSS v3.1 severity within 7 business days. This drives the remediation target and disclosure window (see SECURITY.md → Disclosure timeline).
  3. Containment. Where an immediate mitigation or workaround exists (a configuration change, a policy, or disabling an affected feature), it is documented and shared with the reporter and, if warranted, with affected adopters under embargo.
  4. Private fix development. The fix is developed under a GitHub Security Advisory (private fork) so that code and discussion stay confidential until release.
  5. Coordinated release. The fix is shipped through the normal patch-release and backport process. Which supported lines receive the backport is decided per fix, weighing severity against backport risk — see the Supported Versions table in SECURITY.md, which also records that no documented rule governs that choice.
  6. Disclosure. A GHSA — and, when applicable, a CVE — is published. Public disclosure follows the outbound channels: GitHub Releases and release notes, the changelog, and the GHSA itself. The reporter is credited unless anonymity is requested. Disclosure happens no later than the coordinated-disclosure window committed in SECURITY.md.
  7. Access and credential hygiene. If the incident involved a compromised or departing maintainer or leaked credential, the access-revocation and credential-rotation steps in CONTRIBUTOR_LADDER.md are executed (GitHub team access, org roles, Actions secrets, registry tokens, and App keys), completed within five business days.
  8. Retrospective. After resolution the maintainers record what happened, the root cause, and any follow-up hardening, and open tracking issues for preventative work.

Severity and timelines

Severity classification (CVSS v3.1) and the target remediation and disclosure timelines are defined once, authoritatively, in SECURITY.md → Disclosure timeline. They are not duplicated here to avoid drift.