diff options
| author | Reepca Russelstein <reepca@russelstein.xyz> | 2026-06-21 07:28:58 -0500 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2026-06-24 15:20:16 +0200 |
| commit | 247245fbef1923a3bc17a23627e9c016900b4edc (patch) | |
| tree | ac70e5c649e39ce49b6271e7f30432c1fa50bff4 /doc | |
| parent | 69b37a8e5d166328fa3d9a7c61b7ca1dfa772552 (diff) | |
daemon: libstore: reject invalid store paths in importPath.
Previously an authorized substitute server could produce invalid store paths -
that is, paths that do denote a top-level file in the store, but that do not
obey the syntax restrictions beyond what that implies. Given that an
authorized substitute server can already potentially do a lot of damage if it
really wanted to, this isn't a major issue, but closing off this opportunity
does simplify the analysis somewhat.
* nix/libstore/local-store.cc (LocalStore::importPath): use
strict readStorePath(s) variants.
* tests/store.scm ("import path not in store, unsigned", "import path not in
store, signed", "import invalid path, unsigned", "import invalid path,
signed" test cases): new test cases. The "not in store" cases succeeded
previously, while the "invalid path" cases did not succeed prior to this
commit.
Fixes: guix/guix#9078
Change-Id: Ib81c19ec1ae0fff5b7c7268f4f7429b16a870996
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #9434
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions
