CVE-2026-61685
ReactPress has SQL injection via dynamic column names in TypeORM query builders
ReactPress is a publishing system for React developers. Prior to version 3.7.0, 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. Version 3.7.0 contains a patch. As a workaround, allowlist allowed filter column names before interpolating into SQL.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
ReactPress has SQL injection via dynamic column names in TypeORM query builders
ReactPress is a publishing system for React developers. Prior to version 3.7.0, 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. Version 3.7.0 contains a patch. As a workaround, allowlist allowed filter column names before interpolating into SQL.
- Record
CVE-2026-61685- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-89
- Updated
- 2026-11-02
EUVDEUVD-2026-84981
7.5
ReactPress is a publishing system for React developers. Prior to version 3.7.0, 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. Version 3.7.0 contains a patch. As a workaround, allowlist allowed filter column names before interpolating into SQL.
- Record
EUVD-2026-84981- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-wmw4-mw6x-6vfm
7.5
ReactPress has SQL injection via dynamic column names in TypeORM query builders
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.
- Record
GHSA-wmw4-mw6x-6vfm- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-89
- Updated
- 2026-11-02
NVD
7.5
ReactPress is a publishing system for React developers. Prior to version 3.7.0, 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. Version 3.7.0 contains a patch. As a workaround, allowlist allowed filter column names before interpolating into SQL.
- Record
CVE-2026-61685- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-89
- Updated
- 2026-11-02
OSV
7.5
ReactPress has SQL injection via dynamic column names in TypeORM query builders
ReactPress is a publishing system for React developers. Prior to version 3.7.0, 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. Version 3.7.0 contains a patch. As a workaround, allowlist allowed filter column names before interpolating into SQL.
- Record
CVE-2026-61685- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-89
- Updated
- 2026-11-05
OSVGHSA-wmw4-mw6x-6vfm
7.5
ReactPress has SQL injection via dynamic column names in TypeORM query builders
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.
- Record
GHSA-wmw4-mw6x-6vfm- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-89
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
@fecommunity/reactpressnpm |
through 3.6.0 | 3.7.0 |
@fecommunity/reactpressnpm |
before 3.7.0 | 3.7.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-61685 is a high vulnerability (CVSS 7.5) in Fecommunity Reactpress, published September 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in @fecommunity/reactpress 3.7.0.
References
github.com/fecommunity/reactpress/security/advisories/GHSA-wmw4-mw6x-6vfm
github.com/fecommunity/reactpress/commit/78ecb70af1c021455c05fdcbe137212c70e310d6
github.com/fecommunity/reactpress/releases/tag/v3.7.0
nvd.nist.gov/vuln/detail/CVE-2026-61685
github.com/advisories/GHSA-wmw4-mw6x-6vfm
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61685.json
github.com/fecommunity/reactpress