/

CVE-2026-119710

Severity:

HIGH RISK

(7.1)

Authorization Bypass (CWE-862) in PipesHub Connectors

CVE-2026-119710

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-862

Impact:

Unauthorized Connector Deletion and Data Loss

Severity:

HIGH RISK

(7.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

PipesHub contains an event type injection vulnerability that can let an authenticated user with only the crawl:write scope trigger connector-deletion behavior through a schedule route. Successful exploitation may remove connector instances and purge associated record embeddings without the intended connector-deletion authorization.

PipesHub contains an event type injection vulnerability that can let an authenticated user with only the crawl:write scope trigger connector-deletion behavior through a schedule route. Successful exploitation may remove connector instances and purge associated record embeddings without the intended connector-deletion authorization.

Affected context

The issue affects PipesHub deployments that expose schedule routes accepting a connector path segment and use that segment to select event behavior. Risk is present when authorization checks for the requested operation are not independently enforced after the event type is derived from user-controlled route data.

The issue affects PipesHub deployments that expose schedule routes accepting a connector path segment and use that segment to select event behavior. Risk is present when authorization checks for the requested operation are not independently enforced after the event type is derived from user-controlled route data.

Exploit preconditions

  • Attack surface: Schedule-related HTTP route containing a connector path segment
  • Required access: An authenticated account with the crawl:write scope
  • Trigger point: Processing a crafted connector value that resolves to a deletion event
  • Why exploitation is possible: The application may use the injected event type to invoke connector deletion without separately requiring the connector:delete scope or lock checks
  • Attack surface: Schedule-related HTTP route containing a connector path segment
  • Required access: An authenticated account with the crawl:write scope
  • Trigger point: Processing a crafted connector value that resolves to a deletion event
  • Why exploitation is possible: The application may use the injected event type to invoke connector deletion without separately requiring the connector:delete scope or lock checks

Why this happens

The underlying flaw is an authorization design error involving user-controlled event or action selection. A route parameter is interpreted as an event type, allowing a caller with limited permissions to reach a destructive operation whose authorization requirements are not re-evaluated independently.

This maps to CWE-862: Missing Authorization, because the application fails to enforce the required permission check before performing connector deletion and related data cleanup.

The underlying flaw is an authorization design error involving user-controlled event or action selection. A route parameter is interpreted as an event type, allowing a caller with limited permissions to reach a destructive operation whose authorization requirements are not re-evaluated independently.

This maps to CWE-862: Missing Authorization, because the application fails to enforce the required permission check before performing connector deletion and related data cleanup.

Potential impact

  • Unauthorized deletion of connector instances
  • Purging of record embeddings associated with affected connectors
  • Loss of connector-backed data availability
  • Disruption of scheduled crawling or synchronization workflows
  • Increased operational and recovery costs
  • Unauthorized deletion of connector instances
  • Purging of record embeddings associated with affected connectors
  • Loss of connector-backed data availability
  • Disruption of scheduled crawling or synchronization workflows
  • Increased operational and recovery costs

General mitigation guidance

Mitigation typically focuses on separating routing, event selection, and authorization decisions.

Common defensive patterns include:

  • Deriving allowed actions from server-side route definitions rather than trusting event-like path values
  • Enforcing operation-specific authorization immediately before every destructive action
  • Requiring the dedicated connector-deletion privilege for connector removal and associated cleanup
  • Applying allowlists for connector identifiers and event types
  • Treating scope checks and connector lock checks as mandatory independent controls
  • Limiting service-account permissions and using least-privilege defaults
  • Adding confirmation, auditing, and recovery controls for destructive operations

Mitigation typically focuses on separating routing, event selection, and authorization decisions.

Common defensive patterns include:

  • Deriving allowed actions from server-side route definitions rather than trusting event-like path values
  • Enforcing operation-specific authorization immediately before every destructive action
  • Requiring the dedicated connector-deletion privilege for connector removal and associated cleanup
  • Applying allowlists for connector identifiers and event types
  • Treating scope checks and connector lock checks as mandatory independent controls
  • Limiting service-account permissions and using least-privilege defaults
  • Adding confirmation, auditing, and recovery controls for destructive operations

How teams detect issues like this

Organizations can look for:

  • Static analysis patterns where request parameters select handlers, commands, or event types
  • Code review signals showing authorization performed only at a parent route or for a broader operation
  • Tests that exercise each destructive handler with lower-privileged scopes
  • Policy checks requiring operation-specific authorization before deletion or data purge
  • Audit events where accounts with crawling permissions invoke connector deletion or unusual cleanup actions
  • Automated security testing that mutates route parameters and verifies privilege boundaries

Organizations can look for:

  • Static analysis patterns where request parameters select handlers, commands, or event types
  • Code review signals showing authorization performed only at a parent route or for a broader operation
  • Tests that exercise each destructive handler with lower-privileged scopes
  • Policy checks requiring operation-specific authorization before deletion or data purge
  • Audit events where accounts with crawling permissions invoke connector deletion or unusual cleanup actions
  • Automated security testing that mutates route parameters and verifies privilege boundaries

Sources

SourceLink
github.comgithub.com/pipeshub-ai/pipeshub-ai
github.comgithub.com/pipeshub-ai/pipeshub-ai/blob/v0.9.1/backend/nodejs/apps/src/modules/crawling_manager/utils/utils.ts
github.comgithub.com/pipeshub-ai/pipeshub-ai/commit/967232f4cb0fc2d0da5ebc30990417a349d6c56a
github.comgithub.com/pipeshub-ai/pipeshub-ai/releases/tag/v0.10.0
github.comgithub.com/pipeshub-ai/pipeshub-ai/security/advisories/GHSA-cwp5-6php-hrgx
vulncheck.comvulncheck.com/advisories/pipeshub-0.3.0-before-0.10.0-connector-deletion-via-crawling-manager-schedule-route

Frequently asked

questions

It may be exploitable through an exposed PipesHub schedule route, provided the attacker can authenticate and submit requests to that route.

The described condition requires an authenticated account with the crawl:write scope; the dedicated connector-deletion permission may not be required.

Treat route values as untrusted identifiers, use explicit allowlists, and perform an independent connector-deletion authorization check immediately before the destructive operation.

Test every sensitive handler against each role and scope, keep routing separate from authorization, audit destructive actions, and enforce least privilege by default.

It may be exploitable through an exposed PipesHub schedule route, provided the attacker can authenticate and submit requests to that route.

The described condition requires an authenticated account with the crawl:write scope; the dedicated connector-deletion permission may not be required.

Treat route values as untrusted identifiers, use explicit allowlists, and perform an independent connector-deletion authorization check immediately before the destructive operation.

Test every sensitive handler against each role and scope, keep routing separate from authorization, audit destructive actions, and enforce least privilege by default.

Find out what's already
exploitable in your codebase.