Résumé
ReactPress has SQL injection via dynamic column names in TypeORM query builders
Détails de l’avis
Summary
ReactPress API list endpoints build TypeORM QueryBuilder conditions using
unsanitized HTTP query parameter names as SQL column identifiers
(e.g. `article.${key}`). TypeORM parameterizes values but not column
names, allowing unauthenticated attackers to inject SQL through crafted
query string keys.
Impact
An unauthenticated remote attacker can perform blind SQL injection against the application database, potentially exfiltrating sensitive data (users, settings, API keys, article content, etc.).
Affected endpoints (unauthenticated GET)
GET /api/articleGET /api/commentGET /api/fileGET /api/pageGET /api/Knowledge
Affected code
Vulnerable pattern in findAll() methods, including but not limited to:
server/src/modules/article/article.service.tsserver/src/modules/comment/comment.service.tsserver/src/modules/file/file.service.tsserver/src/modules/page/page.service.tsserver/src/modules/knowledge/knowledge.service.ts
Remediation
- Whitelist allowed filter column names before interpolating into SQL.
- Upgrade to
@fecommunity/reactpress>= 3.7.0.
Credit
Reported by lsr365400.
Références
- https://github.com/advisories/GHSA-wmw4-mw6x-6vfm
- https://github.com/fecommunity/reactpress/security/advisories/GHSA-wmw4-mw6x-6vfm
- https://nvd.nist.gov/vuln/detail/CVE-2026-61685
- https://github.com/fecommunity/reactpress/commit/78ecb70af1c021455c05fdcbe137212c70e310d6
- https://github.com/fecommunity/reactpress/releases/tag/v3.7.0
Vulnérabilités liées
Tout Supply chain →- HIGHCVE-2026-107385
MariaDB Connector/Node.js: SQL injection in the text protocol when the session uses NO_BACKSLASH_ESCAPES
- HIGHCVE-2026-107384
MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)
- HIGHCVE-2026-107375
JHipster: SQL Injection in the Parameter of JHipster-Generated Reactive (WebFlux + R2DBC) Applicationssort
- MEDIUMCVE-2026-60090
PraisonAI: PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL
- HIGHCVE-2026-105856
Payload: SQL injection in SQLite/Postgres
- HIGHCVE-2026-62251
Homer: Authenticated SQL Injection via Unvalidated rawquery Field in /api/v4/statistics/query