{"answers":{"affected":"4 open source packages ship an affected version, including nx.","exploited":"There is no known exploitation of CVE-2026-104854 in the wild and no public exploit code.","fix":"Upgrade nx to a fixed version for your release line: 22.7.9 or 23.1.2.","what":"CVE-2026-104854 is a high-severity missing authorization vulnerability in nrwl nx, published on 2 Oct 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-104854 and fix it if it is affected.\n\nWhat it is: CVE-2026-104854 is a high-severity missing authorization vulnerability in nrwl nx, published on 2 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-104854 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- nx (npm): affected from 14.6.0; fixed in 22.7.9\n- nx (npm): affected from 14.6.0; fixed in 22.7.9\n- nx (npm): affected from 23.0.0; fixed in 23.1.2\n- nx (npm): affected from 23.0.0; fixed in 23.1.2\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-104854/ (Markdown: https://insights.sbomify.com/CVE-2026-104854/index.md)","id":"CVE-2026-104854","markdown":"https://insights.sbomify.com/CVE-2026-104854/index.md","name":"CVE-2026-104854","record":{"aliases":["GHSA-w3vv-58gj-gw77","ROOT-APP-NPM-CVE-2026-104854"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["code_execution","data_read"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Nx monorepo tool","requires_auth":"low_privilege","summary":"Local attackers can access Nx daemon sockets to execute code or read data due to insecure permissions and lack of authentication.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":8.5,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-732","name":"Incorrect Permission Assignment for Critical Resource"},{"id":"CWE-269","name":"Improper Privilege Management"}],"description":"Nx is a monorepo solution for TypeScript and polyglot codebases. From 14.6.0 until 22.7.9 and 23.1.2, Nx creates Unix domain sockets for its daemon and isolated plugin workers in shared temporary locations without owner-only directory and socket permissions. Another unprivileged local account on a shared build server, developer host, or multi-user container can discover and connect to a running socket because the transport performs no authentication and relies on filesystem containment. The daemon's PROCESS_IN_BACKGROUND request accepts a module path and invokes its default export, allowing a caller that controls a file to execute code as the account running Nx; other handlers can expose workspace file contents, project graphs, and task hashes. Disabling the daemon alone does not remove the vulnerable plugin-worker sockets, while single-user machines without another local account are not exposed. This issue is fixed in versions 22.7.9 and 23.1.2.","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":"Nx daemon and plugin worker sockets are accessible to other local users","id":"CVE-2026-104854","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":4,"n_references":7,"next":{"headline":"Wasmtime: Preemption and traps during bulk operations enable breaking internal VM state","id":"CVE-2026-104855"},"packages":[{"ecosystem":"npm","fixed":["22.7.9"],"introduced":["14.6.0"],"last_affected":[],"package":"nx","purl":null,"source":"GHSA-w3vv-58gj-gw77"},{"ecosystem":"npm","fixed":["22.7.9"],"introduced":["14.6.0"],"last_affected":[],"package":"nx","purl":"pkg:npm/nx","source":"GHSA-w3vv-58gj-gw77"},{"ecosystem":"npm","fixed":["23.1.2"],"introduced":["23.0.0"],"last_affected":[],"package":"nx","purl":null,"source":"GHSA-w3vv-58gj-gw77"},{"ecosystem":"npm","fixed":["23.1.2"],"introduced":["23.0.0"],"last_affected":[],"package":"nx","purl":"pkg:npm/nx","source":"GHSA-w3vv-58gj-gw77"}],"prev":{"headline":"Nx: Path traversal in nx migrate package-migrations extraction","id":"CVE-2026-104853"},"products":["nx"],"published":"2026-10-02","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":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-02","vendors":["nrwl"]},"summary":"Local attackers can access Nx daemon sockets to execute code or read data due to insecure permissions and lack of authentication.","url":"https://insights.sbomify.com/CVE-2026-104854/"}