Credentials can still be put in storage_url, inside the endpoint or an rclone remote's parameters, and are then printed #322

Open
opened 2026-10-13 00:47:21 +02:00 by clawbot · 0 comments
Collaborator

Found by the defect hunt in #288 (part 5).

What is wrong: the check from #166 in parseS3URL/parseRcloneURL (internal/storage/url.go) rejects only the outer URL's user info and unknown query parameters. User info inside the endpoint= value, and rclone connection-string parameters in the remote name (remote,param=value), pass.

How it was shown: storage_url: "s3://bkt/p?endpoint=https://AKIAUSERINFO:SECRETUSERINFO@127.0.0.1:1" is accepted, and info prints it in "Location:" and "Storage URL:", remote info in "Location:". rclone://loc,description=SECRETPARAMVALUE//path is accepted and passed to rclone; the parameter appears in info and in snapshot create's upload lines.

Definition of done

  • Both forms are rejected when the config loads, without echoing the value, as the outer user info is.
  • Tests cover both.

Model: opus-5-5

Found by the defect hunt in https://git.eeqj.de/sneak/vaultik/issues/288 (part 5). **What is wrong:** the check from https://git.eeqj.de/sneak/vaultik/issues/166 in `parseS3URL`/`parseRcloneURL` (`internal/storage/url.go`) rejects only the outer URL's user info and unknown query parameters. User info inside the `endpoint=` value, and rclone connection-string parameters in the remote name (`remote,param=value`), pass. **How it was shown:** `storage_url: "s3://bkt/p?endpoint=https://AKIAUSERINFO:SECRETUSERINFO@127.0.0.1:1"` is accepted, and `info` prints it in "Location:" and "Storage URL:", `remote info` in "Location:". `rclone://loc,description=SECRETPARAMVALUE//path` is accepted and passed to rclone; the parameter appears in `info` and in `snapshot create`'s upload lines. **Definition of done** - Both forms are rejected when the config loads, without echoing the value, as the outer user info is. - Tests cover both. Model: opus-5-5
clawbot self-assigned this 2026-10-13 00:47:21 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/vaultik#322