{"answers":{"affected":"2 open source packages ship an affected version, including @fecommunity/reactpress.","exploited":"There is no known exploitation of CVE-2026-61685 in the wild and no public exploit code.","fix":"Upgrade @fecommunity/reactpress to 3.7.0 or later.","what":"CVE-2026-61685 is a high-severity SQL injection vulnerability in fecommunity reactpress, published on 22 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-61685 and fix it if it is affected.\n\nWhat it is: CVE-2026-61685 is a high-severity SQL injection vulnerability in fecommunity reactpress, published on 22 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-61685 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- @fecommunity/reactpress (npm): affected all versions; fixed in 3.7.0\n- @fecommunity/reactpress (npm): affected all versions; fixed in 3.7.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-61685/ (Markdown: https://insights.sbomify.com/CVE-2026-61685/index.md)","id":"CVE-2026-61685","markdown":"https://insights.sbomify.com/CVE-2026-61685/index.md","name":"CVE-2026-61685","record":{"aliases":["GHSA-wmw4-mw6x-6vfm"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_read","data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"React publishing system","requires_auth":"none","summary":"Unauthenticated attackers can inject SQL via query parameters in ReactPress API endpoints, potentially reading or modifying database contents.","user_interaction":"not_required","vuln_class":"sql_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-89","name":"Improper Neutralization of Special Elements used in an SQL Command"}],"description":"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.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"ReactPress has SQL injection via dynamic column names in TypeORM query builders","id":"CVE-2026-61685","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"sql_injection","year":"2026"},"n_packages":2,"n_references":3,"next":{"headline":"SolidInvoice: PHP unserialize() called on client-controlled data in DataGrid LiveComponent context prop","id":"CVE-2026-61686"},"packages":[{"ecosystem":"npm","fixed":["3.7.0"],"introduced":["0"],"last_affected":[],"package":"@fecommunity/reactpress","purl":null,"source":"GHSA-wmw4-mw6x-6vfm"},{"ecosystem":"npm","fixed":["3.7.0"],"introduced":["0"],"last_affected":[],"package":"@fecommunity/reactpress","purl":"pkg:npm/%40fecommunity/reactpress","source":"GHSA-wmw4-mw6x-6vfm"}],"prev":{"headline":"FastGPT: Unauthenticated cross-tenant data access via forgeable plugin-invoke JWT (default INVOKE_TOKEN_SECRET='token')","id":"CVE-2026-61684"},"products":["reactpress"],"published":"2026-09-22","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-23","vendors":["fecommunity"]},"summary":"Unauthenticated attackers can inject SQL via query parameters in ReactPress API endpoints, potentially reading or modifying database contents.","url":"https://insights.sbomify.com/CVE-2026-61685/"}