Every CVE Search/ Get API key

CVE-2026-61685

ReactPress has SQL injection via dynamic column names in TypeORM query builders

7.5 HighFix available

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

0.53%Unchanged since Sep 23, 2026
90%50%10%1%

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 HighCVSS: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 HighCVSS: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/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.

Record
GHSA-wmw4-mw6x-6vfm
CVSS 3.1
7.5 HighCVSS: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 HighCVSS: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 HighCVSS: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/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.

Record
GHSA-wmw4-mw6x-6vfm
CVSS 3.1
7.5 HighCVSS: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

Affected packages
PackageAffectedFixed
@fecommunity/reactpress
npm
through 3.6.0
3.7.0
@fecommunity/reactpress
npm
before 3.7.0
3.7.0

History

History
RecordedChangedSources
factsOSV
first indexedCVE 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

MoveEnter Open