UNKNOWNGHSA-6q22-g298-grjh

Directus: Unauthenticated Denial of Service via GraphQL Alias Amplification of Expensive Health Check Resolver

Platform

nodejs

Component

directus

Opgelost in

11.17.0

## Samenvatting De GraphQL specificatie staat het toe dat een enkele query hetzelfde veld meerdere keren herhaalt met behulp van aliases, waarbij elke alias standaard onafhankelijk wordt opgelost. Directus dedupliceerde resolver invocaties binnen een enkele request niet, wat betekende dat elke alias een volledige, onafhankelijke uitvoering van de onderliggende resolver triggerde. De health check resolver voerde alle backend checks uit (database connectiviteit, cache, storage writes en SMTP verificatie) bij elke invocatie. Gecombineerd met ongeauthenticeerde toegang tot het systeem GraphQL endpoint, maakte dit het mogelijk voor een aanvaller om het resourceverbruik aanzienlijk te vergroten vanaf een enkele HTTP request, waardoor de database connection pool, storage I/O en SMTP verbindingen uitgeput werden. ## Fix Een request-scoped resolver deduplicatiemechanisme is geïntroduceerd en breed toegepast op alle GraphQL read resolvers, zowel systeem als items endpoints. Wanneer meerdere aliases in een enkele request dezelfde resolver met identieke argumenten aanroepen, wordt alleen de eerste aanroep uitgevoerd; alle volgende aliases delen het resultaat. Dit elimineert de amplificatiefactor, ongeacht hoeveel aliases een aanvaller in een query opneemt. ## Impact - **Service degradatie of uitval:** Database

Hoe te verhelpen

Geen officiële patch beschikbaar. Zoek naar tijdelijke oplossingen of monitor updates.

Bewaak uw afhankelijkheden automatisch

Ontvang meldingen wanneer nieuwe kwetsbaarheden uw projecten beïnvloeden.

Gratis beginnen
GHSA-6q22-g298-grjh — Vulnerability Details | NextGuard | NextGuard