Gemiddeld · 4.9 Node.js & npm GHSA-wmw4-mw6x-6vfm CVE-2026-61685
SQL-injectie in ReactPress API-endpoints via ongefilterde queryparameternamen (CVE-2026-61685)
ReactPress-versies tot en met 3.6.0 zijn kwetsbaar voor SQL-injectie zonder authenticatie, doordat API-lijstendpoints ongefilterde HTTP-queryparameternamen gebruiken als SQL-kolomnamen in TypeORM-querybuilders. Versie 3.7.0 bevat een fix.
AI-samenvatting
In ReactPress, een publicatiesysteem voor React-ontwikkelaars, is een SQL-injectiekwetsbaarheid vastgesteld. Het probleem zit in de manier waarop bepaalde API-endpoints databasequery's opbouwen en kan worden misbruikt door aanvallers zonder authenticatie, via speciaal geprepareerde requestparameters. Er is een gepatchte versie beschikbaar.
Wat is er gebeurd
API-lijstendpoints van ReactPress bouwen TypeORM `QueryBuilder`-condities op door de namen van HTTP-queryparameters rechtstreeks als SQL-kolomnamen in te voegen (bijvoorbeeld volgens het patroon `article.${key}`). TypeORM parametriseert wel de waarden van een query, maar niet de kolomnamen zelf. Hierdoor kunnen waarden die bedoeld zijn als queryparameternaam, zodanig worden geprepareerd dat ze SQL injecteren. Een aanvaller zonder authenticatie kan zo, door gemanipuleerde queryparameternamen mee te sturen, invloed uitoefenen op de uiteindelijke SQL-query.
Technische oorzaak
De oorzaak ligt in onvoldoende neutralisatie van speciale tekens die in SQL-commando's worden gebruikt (CWE-89). De betreffende endpoints nemen de naam van een queryparameter uit het binnenkomende HTTP-verzoek over en voegen deze rechtstreeks in als kolomverwijzing binnen een TypeORM `QueryBuilder`-conditie. Omdat TypeORM alleen gebonden waarden parametriseert en geen identifiers zoals kolomnamen, ontbreekt automatische bescherming tegen kwaadaardige invoer die via de parameternaam zelf wordt meegegeven.
Waarom dit belangrijk is
De kwetsbaarheid heeft een CVSS-basisscore van 7,5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N). Dit betekent dat de kwetsbaarheid op afstand via het netwerk is te misbruiken, geen authenticatie of gebruikersinteractie vereist, en een lage aanvalscomplexiteit kent. De vector wijst op een hoge impact op vertrouwelijkheid, zonder directe impact op integriteit of beschikbaarheid volgens deze score. Een aanvaller zou dus mogelijk gevoelige gegevens uit de onderliggende database kunnen buitmaken, zonder geldige inloggegevens nodig te hebben.
Getroffen versies
Alle versies van @fecommunity/reactpress vanaf versie 0 tot en met 3.6.0 zijn getroffen. Versie 3.7.0 bevat een patch die dit probleem verhelpt.
Fixes en mitigatie
Gebruikers wordt aangeraden @fecommunity/reactpress bij te werken naar versie 3.7.0, waarin dit probleem is gepatcht. Als tijdelijke mitigatie, wanneer updaten niet direct mogelijk is, kunnen beheerders een allowlist instellen met de specifieke kolomnamen die als filter mogen worden gebruikt, voordat deze namen in SQL-query's worden verwerkt — in plaats van willekeurige parameternamen uit gebruikersinvoer te accepteren.
Aanbevolen actie
Sitebeheerders die @fecommunity/reactpress versie 3.6.0 of ouder gebruiken, wordt aangeraden zo snel mogelijk te updaten naar versie 3.7.0. Wanneer direct updaten niet haalbaar is, dient de beschreven allowlist-mitigatie voor kolomnamen te worden toegepast, zodat ongefilterde queryparameternamen niet als SQL-kolomidentifiers kunnen worden gebruikt.
PatchBriefing-score
4.9 / 10 · Gemiddeld
Officiële CVSS: 7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Waarom deze score
De PatchWire-score van 4,9 wordt voornamelijk bepaald door de CVSS-basisscore van 7,5, die staat voor een kwetsbaarheid die op afstand via het netwerk is te misbruiken, een lage aanvalscomplexiteit heeft, geen authenticatie of gebruikersinteractie vereist, en een hoge impact op vertrouwelijkheid kent. Kleinere bijdragen aan de score komen van het feit dat het probleem zonder authenticatie en op afstand te misbruiken is, en dat er geen gebruikersinteractie nodig is. De score bevat geen verhoging op basis van bekend misbruik, publiek beschikbare exploits of EPSS-gegevens, aangezien geen van deze factoren in het feitenpakket als verhoogd is vastgesteld (het EPSS-percentage en -percentiel waren wel bekend maar laag, en actief of publiek misbruik is aangemerkt als onwaar).
Getroffen versies
- @fecommunity/reactpress <= 3.6.0
- kwetsbaar
- ≥ 3.7.0
- gepatcht
Gemelde oplossingen
Gebruikers wordt aangeraden @fecommunity/reactpress bij te werken naar versie 3.7.0, waarin dit probleem is gepatcht. Als tijdelijke mitigatie, wanneer updaten niet direct mogelijk is, kunnen beheerders een allowlist instellen met de specifieke kolomnamen die als filter mogen worden gebruikt, voordat deze namen in SQL-query's worden verwerkt — in plaats van willekeurige parameternamen uit gebruikersinvoer te accepteren.
Hoe dit rapport is gemaakt
2 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail