Skip to content

fix(security): refuse an extra slash after https:// in typed base URLs - #9913

Merged
waleedlatif1 merged 1 commit into
stagingfrom
fix/url-guard-extra-slash
Nov 12, 2026
Merged

waleedlatif1 merged 1 commit into
stagingfrom
fix/url-guard-extra-slash

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • refuseUnsafeUrlForm now refuses a slash or backslash right after http(s)://. The URL parser skips those, so https:///user:pass@host slipped past refuseUnsafeTypedUrl's authority check and a caller's normalizer silently dropped the credentials
  • Both normalizeHttpBaseUrl and refuseUnsafeTypedUrl inherit it (GitLab, ServiceNow, Infisical, EmailBison, Jupyter, Logfire and the other typed-host validators)
  • A bare host:port such as ftp:123 is unchanged: every caller prefixes https://, so it stays a host and port

Type of Change

  • Bug fix

Testing

  • input-validation.test.ts: two new cases fail on the old guard and pass now (141 passing)
  • Caller suites: token-service-accounts validators, Infisical, EmailBison, Jupyter (264 passing)
  • biome on the changed files; CI runs type-check and audits

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Nov 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 12, 2026 12:39am UTC

Request Review

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 2 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@greptile-apps

greptile-apps Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] This PR appears safe to merge.

Summary

This PR rejects an extra slash or backslash immediately after http(s):// in typed base URLs.

  • Typed base URLs with an extra separator after HTTP(S) are refused.

Reviews (1) · Last reviewed commit: "fix(security): refuse an extra slash aft..." · Reviewed by Greptile

This branch was previously deployed

1 inactive deployment
Preview — 3ea7b75b Deployed Nov 12, 2026 by vercel[bot]
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.

1 participant