Skip to content

Encryption-at-rest guide says rotating the SSE-KMS key re-encrypts existing model files; KMS key rotation does not re-encrypt stored objects (F-W1-DOCS-TRUST-19) #882

Open

Description

@cemililik

Wave 3 · group W3 Docs · highest severity Medium · 1 finding(s) · effort docs fix

Summary

The guide says ForgeLM is unaffected by key rotation because "the model files re-encrypt at the storage layer". AWS KMS key rotation only changes the key material used for new encryption; it keeps the earlier material to decrypt existing ciphertext and does not re-encrypt stored data. An operator who rotates after a suspected key exposure would believe old model files are protected by new key material when they are not.

Primary finding

F-W1-DOCS-TRUST-19 — KMS rotation is incorrectly said to re-encrypt existing model files

severity Medium · confidence high · checked against the AWS KMS documentation

What happens. docs/qms/encryption_at_rest.md:92-95 (Turkish mirror docs/qms/encryption_at_rest-tr.md:94-97): "rotate the CMK itself, not just the data key. ForgeLM is unaffected by rotation — the model files re-encrypt at the storage layer without the training pipeline noticing." Objects already written with SSE-KMS stay encrypted under the data keys they were written with, protected by the earlier key material; moving them to new key material means re-encrypting them, for example by copying the objects.

Where.

Evidence (re-verified on 2026-10-09).

  • AWS KMS developer guide, "Rotate AWS KMS keys": rotation changes the key material used for new cryptographic operations, KMS keeps the earlier key material to decrypt data encrypted under it, and rotating key material does not re-encrypt the data the key protects (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html).
  • Both pages are unchanged on development.

Recommended fix. Separate the two operations. Scheduled key rotation protects new writes; existing artefacts stay readable and are not re-encrypted. Re-encrypting existing artefacts — after a suspected key compromise, or where a policy requires it — is a separate step (copy the objects under the new key) and the old key material must stay available until the copy and a restore test are verified. Link the provider's procedure instead of promising transparent re-encryption.

Acceptance criteria

  • Neither page states or implies that key rotation re-encrypts existing model files.
  • The guide says how existing artefacts are re-encrypted and how long the old key material is kept.
  • Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
  • The finding is resolved or explicitly closed with a reason.

Found by the September 2026 independent review of ForgeLM against commit cab2947 and re-verified against development at f94595f on 2026-10-09. Code links point at cab2947; line numbers may have moved since. Finding IDs (F-W1-…) are stable references for this backlog.

Activity

  1. added
    documentationImprovements or additions to documentation
    securitySecurity-relevant
    severity: mediumReal defect with limited reach or a workaround
    wave: 3Roadmap wave 3: medium severity, module sweeps
    source: review-2026-09Found by the September 2026 independent review
    on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationsecuritySecurity-relevantseverity: mediumReal defect with limited reach or a workaroundsource: review-2026-09Found by the September 2026 independent reviewwave: 3Roadmap wave 3: medium severity, module sweeps

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions