GothenburgBitFactory / GothenburgBitFactory/taskchampion

Parent version is unverified

Open
#714 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
184
Forks
41
Avg merge
1d 1h
Merged PRs (30d)
7

Description

In the Sealed/Unseal structs, the encryption only covers version_id. The parent version id only lives in the filename/object name/etc. Anyone with write access to the store (but not the encryption key) could rename v-parentA-versionB → v-parentC-versionB and the decryption would still succeed, silently rewriting the version chain.

This is a small risk, and more likely to be a result of a failed transaction (ask me how I discovered it), but the fix is easy enough. Adding a parent_id to the Sealed/Unsealed structs with a check either in cryptor, or more likely in each server implementation, could prevent this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.