Skip to content

fix: encode GCP Vertex URL path segments - #10998

Merged
jbg merged 1 commit into
mainfrom
jbg/security-gcpvertex-model-path
Aug 11, 2026
Merged

fix: encode GCP Vertex URL path segments#10998
jbg merged 1 commit into
mainfrom
jbg/security-gcpvertex-model-path

Conversation

@jbg

@jbg jbg commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • construct GCP Vertex request URLs from encoded path segments
  • preserve exact supported Claude, Gemini, and MaaS endpoint shapes
  • cover traversal, separators, pre-encoding, query/fragment characters, and MaaS publisher derivation

Addresses https://github.com/project-loupe/audit-goose/issues/74.

Security boundary

A recipe-selected model name is data within one Vertex model path segment. It must not restructure an authenticated prediction URL or redirect the conversation payload to another project endpoint.

Verification

  • pre-fix security regressions failed as expected
  • bin/cargo fmt
  • bin/cargo test -p goose test_build_vertex_url (6 passed)
  • bin/cargo build -p goose
  • bin/cargo clippy --all-targets -- -D warnings
  • git diff --check

This finding was discovered by Project Loupe.

@jbg
jbg requested a review from alexhancock August 6, 2026 03:59

@DOsinga DOsinga left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes the issue at the URL-construction boundary by encoding each dynamic value as a distinct path segment, while preserving the existing Claude, Gemini, and MaaS endpoint shapes. The regression tests cover traversal, separators, pre-encoded input, query/fragment characters, and MaaS publisher derivation. I found no blocking issues.

@Abhijay007
Abhijay007 added this pull request to the merge queue Aug 8, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 8, 2026
@jbg
jbg added this pull request to the merge queue Aug 11, 2026
Merged via the queue into main with commit 4214944 Aug 11, 2026
33 of 34 checks passed
@jbg
jbg deleted the jbg/security-gcpvertex-model-path branch August 11, 2026 02:07
michaelneale added a commit that referenced this pull request Aug 11, 2026
* origin/main:
  chore(release): bump version to 1.46.0 (minor) (#10920)
  fix: secure Copilot API endpoint transport (#11129)
  fix(providers): map kimi_code provider name and pass correct provider to create_request (#11130)
  fix(cli): honor provider overrides on session resume (#10810)
  fix: enforce review check tool policy (#11128)
  chore(deps-dev): bump vite from 7.3.1 to 8.2.1 in /ui (#10977)
  chore(deps): bump jsonschema from 0.46.10 to 0.49.4 (#10857)
  chore(deps): bump sigstore-verify from 0.10.0 to 0.11.0 (#10856)
  chore(deps): bump lopdf from 0.42.0 to 0.44.0 (#10854)
  chore(deps): bump ctor from 0.2.9 to 0.6.3 (#10852)
  chore(deps-dev): bump @types/node from 20.19.37 to 26.1.2 in /ui (#10979)
  chore(deps-dev): bump @electron/fuses from 1.8.0 to 2.1.3 in /ui (#10978)
  chore(deps-dev): bump electron from 41.10.3 to 43.3.0 in /ui (#10974)
  fix(permissions): match extension owners exactly (#10455)
  fix: normalize critical command patterns (#10989)
  fix: keep LiteLLM default local (#10996)
  fix: encode GCP Vertex URL path segments (#10998)
  fix: make Open Plugins installs transactional (#10999)

# Conflicts:
#	Cargo.lock
#	ui/desktop/package.json
#	ui/pnpm-lock.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants