REDHAT-BUG-2516143: Medium severity Red Hat Quay vulnerability
A flaw was found in Red Hat Quay's Stripe billing webhook handler. The /webhooks/stripe endpoint at endpoints/webhooks.py accepts incoming JSON requests without validating the Stripe-Signature header, allowing an unauthenticated attacker to forge billing events. The endpoint is registered unconditionally, even when FEATUREBILLING is disabled. An attacker can forge charge.succeeded events to reset a namespace's build quota to the server-configured maximum and trigger unsolicited billing emails (invoice, payment-failed, subscription-change) to namespace administrators. The checkout.session.completed path calls stripe.SetupIntent.retrieve with attacker-controlled IDs, but subsequent mutations use values from Stripe's response rather than the attacker's payload. Impact is Medium-High for quay.io deployments with real Stripe integration and Low for self-hosted defaults using FakeStripe.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Modify endpoints/webhooks.py for the /webhooks/stripe endpoint to validate the Stripe-Signature header on incoming requests; reject forged/unauthenticated JSON payloads that do not pass signature verification.
Red Hat Quay /webhooks/stripe (endpoints/webhooks.py) Stripe-Signature header validation = enabled - Configuration
Register the /webhooks/stripe endpoint only when FEATURE_BILLING is enabled; do not register it unconditionally when FEATURE_BILLING is disabled.
Red Hat Quay Stripe webhook handler registration FEATURE_BILLING (conditional webhook registration) = disabled when FEATURE_BILLING is off
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2516143?
The severity of REDHAT-BUG-2516143 is classified as medium.
What impact does REDHAT-BUG-2516143 have on Red Hat Quay?
REDHAT-BUG-2516143 allows an unauthenticated attacker to forge billing events by exploiting the unvalidated Stripe-Signature header.
How do I fix REDHAT-BUG-2516143?
To fix REDHAT-BUG-2516143, ensure that the /webhooks/stripe endpoint properly validates the Stripe-Signature header.
Is there a workaround for REDHAT-BUG-2516143?
Currently, it's recommended to temporarily disable the /webhooks/stripe endpoint until a patch is applied to address REDHAT-BUG-2516143.
What versions of Red Hat Quay are affected by REDHAT-BUG-2516143?
All versions of Red Hat Quay that include the vulnerable /webhooks/stripe endpoint are affected by REDHAT-BUG-2516143.