GitHub Advisoryadvisory · npm

GHSA-wmw4-mw6x-6vfm ReactPress has SQL injection via dynamic column names in TypeORM query builders

HIGH Published 2026-09-23 Modified 2026-09-23 Official page ↗
Aliases
CVE-2026-61685
Ecosystem
npm
Packages
@fecommunity/reactpress
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-89
Reviewed
2026-09-23

Affected packages

• npm @fecommunity/reactpress: < 3.7.0 → fixed in 3.7.0

Description

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/article` • `GET /api/comment` • `GET /api/file` • `GET /api/page` • `GET /api/Knowledge` Affected code Vulnerable pattern in `findAll()` methods, including but not limited to: • `server/src/modules/article/article.service.ts` • `server/src/modules/comment/comment.service.ts` • `server/src/modules/file/file.service.ts` • `server/src/modules/page/page.service.ts` • `server/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.

Related

Alias · CVE (1)

  • CVE-2026-61685 ReactPress is a publishing system for React developers. vulnerability

Weakness · CWE (1)

  • CWE-89 Improper Neutralization of Special Elements used in an SQL Command weakness

References