Introduced DELETE=1 with granular per-endpoint delete controls #161
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What and Why?
Previously, enabling
POST=1
allowed all write operations, not just literal HTTP POST calls.This meant that destructive operations like
DELETE
were implicitly permitted wheneverPOST=1
was set — which was dangerous, since any malicious container/service could trigger deletes.This change introduces:
A new global flag
DELETE=1
to explicitly control delete operations.Granular per-endpoint delete toggles:
ALLOW_IMAGES_DELETE
ALLOW_NETWORKS_DELETE
ALLOW_CONTAINERS_DELETE
Now, a delete request is only allowed if:
DELETE=1
is set, andthe relevant per-endpoint delete flag is also enabled.
This ensures
DELETE
access cannot be accidentally granted byPOST=1
anymore, closing the privilege escalation gap.Next steps
If approved, this design will be extended to other sensitive endpoints (e.g. secrets, configs, etc.) to provide consistent, fine-grained access control.