{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54344 exists.","fix":"No fix has been published for CVE-2026-54344 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-54344 is a medium-severity command injection vulnerability in ToolJet, published on 8 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-54344 and fix it if it is affected.\n\nWhat it is: CVE-2026-54344 is a medium-severity command injection vulnerability in ToolJet, published on 8 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54344 exists.\n\nAffected product: ToolJet. No package-level version data is available, so check the vendor advisory linked from the reference page.\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-54344/ (Markdown: https://insights.sbomify.com/CVE-2026-54344/index.md)","id":"CVE-2026-54344","markdown":"https://insights.sbomify.com/CVE-2026-54344/index.md","name":"CVE-2026-54344","record":{"aliases":["GHSA-4pm2-w6g5-28mm"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution","data_read"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Low-code platform","requires_auth":"none","summary":"Attackers can execute shell commands on CI runners and steal secrets by injecting code into GitHub pull request comments in ToolJet.","user_interaction":"not_required","vuln_class":"command_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"tooljet","vendor":"tooljet"}],"cvss":{"score":4.7,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command"}],"description":"ToolJet is an open-source low-code platform for building internal tools. Prior to 3.20.180, ToolJet's render preview deployment workflow interpolates github.event.comment.body directly into a bash conditional in a run step, allowing any GitHub user who can comment on an open pull request with a deploy command to execute shell commands on the CI runner and exfiltrate deployment secrets. This issue is reported as fixed in version 3.20.180.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"ToolJet GitHub Actions comment body shell injection exposes deployment secrets","id":"CVE-2026-54344","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"command_injection","year":"2026"},"n_packages":0,"n_references":1,"next":{"headline":"GoPacket's Diameter AVP decoder: uint32 underflow on vendor header size leads to unbounded ~4 GiB allocation (unauthenticated remote DoS)","id":"CVE-2026-54345"},"packages":[],"prev":{"headline":"Frappe LMS: Path Traversal in SCORM File Serving","id":"CVE-2026-54343"},"products":["ToolJet"],"published":"2026-07-08","related":[{"cvss_score":9.8,"headline":"Improper Privilege Management in tooljet/tooljet","id":"CVE-2022-3422","kev_date_added":null,"published":"2022-10-07"},{"cvss_score":9.8,"headline":"Improper Access Control in tooljet/tooljet","id":"CVE-2022-2631","kev_date_added":null,"published":"2022-08-02"},{"cvss_score":9.8,"headline":"Excessive Attack Surface in tooljet/tooljet","id":"CVE-2022-2037","kev_date_added":null,"published":"2022-06-09"},{"cvss_score":8.8,"headline":"ToolJet - Token Leakage via Referer Header","id":"CVE-2022-23067","kev_date_added":null,"published":"2022-05-18"},{"cvss_score":7.5,"headline":"Business logic in n/a","id":"CVE-2022-27978","kev_date_added":null,"published":"2023-04-26"},{"cvss_score":7.1,"headline":"Improper Access Control in tooljet/tooljet","id":"CVE-2022-3019","kev_date_added":null,"published":"2022-08-29"},{"cvss_score":6.5,"headline":"Improper Validation of Specified Quantity in Input in tooljet/tooljet","id":"CVE-2022-4111","kev_date_added":null,"published":"2022-11-22"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-07-08","vendors":["ToolJet"]},"summary":"Attackers can execute shell commands on CI runners and steal secrets by injecting code into GitHub pull request comments in ToolJet.","url":"https://insights.sbomify.com/CVE-2026-54344/"}