{"items":[{"id":"NVI-00017749","kind":"vulnerability","title":"Probo has an open redirect bypass via path normalization","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-x7qq-m748-8p2c","CVE-2026-49820"],"plain_summary":"GitHub lists this reviewed advisory for go.probo.inc/probo. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-5abb7c49529c694ed1501589eaec0738"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-06-30T18:31:51.000Z","value":"4.7 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-5abb7c49529c694ed1501589eaec0738"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-5abb7c49529c694ed1501589eaec0738","url":"https://github.com/advisories/GHSA-x7qq-m748-8p2c","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-x7qq-m748-8p2c","publisher":"GitHub Advisory Database","observed_at":"2026-11-05T11:39:31.286Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-5abb7c49529c694ed1501589eaec0738"],"technology":"go.probo.inc/probo","known_exclusions":[],"conditions_summary":"### Impact\nProbo's `saferedirect` package validates redirect URLs used across authentication flows (OIDC, SAML, session transfer, OAuth connectors, and trust-center magic links). The validator only inspected the second character of relative paths, so a URL like `/../\\evil.com` passed validation because the second character is `.`. Go's `http.Redirect` normalizes this path to `/\\evil.com` before setting the `Location` header. Browsers can interpret the backslash as a host separator and redirect the user to an external domain (`https://evil.com`), bypassing the intended same-origin restriction. This enables open-redirect phishing: an attacker can craft a `continue` parameter (or embed a malicious URL in a session-transfer token) that appears to originate from a trusted Probo domain but redirects victims elsewhere.\n\n### Patches\nFixed in `go.probo.inc/probo` by normalizing relative paths with `path.Clean` before validation, rejecting backslashes (including\npercent-encoded `%5c`) anywhere in the path, and re-checking the normalized result for protocol-relative and backslash prefixes.\n\nSelf-hosted deployments should upgrade to **probod v0.194.1** or later.\n\nSaaS deployments on getprobo.c","public_affected_ranges":["< 0.204.0"]}],"null_published_at":"2026-11-05T19:10:21.462Z","source_updated_at":"2026-06-30T18:31:51.000Z","source_disclosed_at":"2026-06-30T18:31:50.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-05T11:39:31.286Z"}],"next_cursor":null,"snapshot_revision":"42594"}