{"id":"CVE-2026-88061","aliases":["EUVD-2026-75704","GHSA-wpqw-whgf-gr4g"],"status":"published","title":"career-ops: Local dashboard API accepted cross-origin and non-loopback requests, allowing unauthenticated command execution","description":"career-ops is an open-source AI-assisted job search and application management tool. Prior to 0.8.0, the career-ops local web dashboard web/ exposed command-spawning and user-file-writing /api routes without validating request origin or restricting clients to loopback addresses. A malicious page in another browser tab could send cross-origin localhost requests while the dashboard was running, and a dashboard bound beyond loopback could receive direct requests from the local network. Both paths allowed unauthenticated command execution as the dashboard user, but npm installations were unaffected because web/ is excluded from the published package. This issue is fixed in version 0.8.0.","severity":{"version":"4.0","score":5.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00375,"percentile":0.31919,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-1385","CWE-352"],"published":"2026-09-10T19:08:23Z","modified":"2026-10-28T02:31:03Z","products":[{"vendor":"santifer","product":"career-ops"}],"references":[{"url":"https://github.com/career-ops-hq/career-ops/security/advisories/GHSA-wpqw-whgf-gr4g","tags":["x_refsource_CONFIRM","advisory"]},{"url":"https://github.com/career-ops-hq/career-ops/commit/b3974e6104d83c2714fd0d071898a7c7b9f68726","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/career-ops-hq/career-ops/releases/tag/web-v0.8.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88061.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88061","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-88061","title":"career-ops: Local dashboard API accepted cross-origin and non-loopback requests, allowing unauthenticated command execution","description":"career-ops is an open-source AI-assisted job search and application management tool. Prior to 0.8.0, the career-ops local web dashboard web/ exposed command-spawning and user-file-writing /api routes without validating request origin or restricting clients to loopback addresses. A malicious page in another browser tab could send cross-origin localhost requests while the dashboard was running, and a dashboard bound beyond loopback could receive direct requests from the local network. Both paths allowed unauthenticated command execution as the dashboard user, but npm installations were unaffected because web/ is excluded from the published package. This issue is fixed in version 0.8.0.","status":"published","published":"2026-09-10T19:08:23.112Z","modified":"2026-09-15T15:36:43.784Z","cvss":[{"version":"4.0","score":5.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H","level":"medium","assessor":"cna"}],"cwes":["CWE-352","CWE-1385"],"updated_at":"2026-11-02T13:41:53.237769Z"}],"euvd":[{"id":"EUVD-2026-75704","description":"career-ops is an open-source AI-assisted job search and application management tool. Prior to 0.8.0, the career-ops local web dashboard web/ exposed command-spawning and user-file-writing /api routes without validating request origin or restricting clients to loopback addresses. A malicious page in another browser tab could send cross-origin localhost requests while the dashboard was running, and a dashboard bound beyond loopback could receive direct requests from the local network. Both paths allowed unauthenticated command execution as the dashboard user, but npm installations were unaffected because web/ is excluded from the published package. This issue is fixed in version 0.8.0.","status":"published","published":"2026-09-10T19:08:23Z","modified":"2026-09-15T15:36:43Z","cvss":[{"version":"4.0","score":5.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H","level":"medium"}],"updated_at":"2026-11-02T17:28:17.768191Z"}],"nvd":[{"id":"CVE-2026-88061","description":"career-ops is an open-source AI-assisted job search and application management tool. Prior to 0.8.0, the career-ops local web dashboard web/ exposed command-spawning and user-file-writing /api routes without validating request origin or restricting clients to loopback addresses. A malicious page in another browser tab could send cross-origin localhost requests while the dashboard was running, and a dashboard bound beyond loopback could receive direct requests from the local network. Both paths allowed unauthenticated command execution as the dashboard user, but npm installations were unaffected because web/ is excluded from the published package. This issue is fixed in version 0.8.0.","status":"published","published":"2026-09-10T20:17:31.54Z","modified":"2026-09-30T17:51:56.193Z","cvss":[{"version":"4.0","score":5.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"}],"cwes":["CWE-352","CWE-1385"],"updated_at":"2026-11-02T14:12:46.271848Z"}],"osv":[{"id":"CVE-2026-88061","title":"career-ops: Local dashboard API accepted cross-origin and non-loopback requests, allowing unauthenticated command execution","description":"career-ops is an open-source AI-assisted job search and application management tool. Prior to 0.8.0, the career-ops local web dashboard web/ exposed command-spawning and user-file-writing /api routes without validating request origin or restricting clients to loopback addresses. A malicious page in another browser tab could send cross-origin localhost requests while the dashboard was running, and a dashboard bound beyond loopback could receive direct requests from the local network. Both paths allowed unauthenticated command execution as the dashboard user, but npm installations were unaffected because web/ is excluded from the published package. This issue is fixed in version 0.8.0.","status":"published","published":"2026-09-10T19:08:23.112Z","modified":"2026-10-28T02:31:03.356054426Z","cvss":[{"version":"4.0","score":5.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H","level":"medium"}],"cwes":["CWE-1385","CWE-352"],"updated_at":"2026-11-02T15:45:19.210277Z"}]}}
