{"schemaVersion":3,"id":"CVE-2025-53542","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Headlamp is an extensible Kubernetes web UI. A command injection vulnerability was discovered in the codeSign.js script used in the macOS packaging workflow of the Kubernetes Headlamp project. This issue arises due to the improper use of Node.js's execSync() function with unsanitized input derived from environment variables, which can be influenced by an attacker. The variables ${teamID}, ${entitlementsPath}, and ${config.app} are dynamically derived from the environment or application config and passed directly to the shell command without proper escaping or argument separation. This exposes the system to command injection if any of the values contain malicious input. This vulnerability is fixed in 0.31.1.","dates":{"published":"2025-07-10T18:20:21.446Z","modified":"2025-07-10T19:03:00.522Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.8,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.8,"severity":"high","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.7,"severity":"high","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00628,"percentile":0.49157,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":-0.019000000000000006,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00647},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00628,"percentile":0.49157}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00647,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00639,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00628,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00628,"percentile":0.49157}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')","description":"The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-88","name":"Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')","description":"The product constructs a string for a command to be executed by a separate component\nin another control sphere, but it does not properly delimit the\nintended arguments, options, or switches within that command string.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/88.html"}],"affected":[{"vendor":"kubernetes-sigs","product":"headlamp","name":"headlamp","label":"headlamp","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.31.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.31.1","eol":null,"hubHref":"/vendor/kubernetes-sigs/headlamp"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/kubernetes-sigs/headlamp/security/advisories/GHSA-34rf-485x-g5h7","label":"github.com/kubernetes-sigs/headlamp/security/advisories/GHSA-34rf-485x-g5h7","hostname":"github.com","tags":["X Refsource CONFIRM"]},{"url":"https://github.com/kubernetes-sigs/headlamp/pull/3377","label":"github.com/kubernetes-sigs/headlamp/pull/3377","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/kubernetes-sigs/headlamp/commit/5bc0a9dd87acdf1e04be14619acde687eefa35fb","label":"github.com/kubernetes-sigs/headlamp/commit/5bc0a9dd87acdf1e04be14619acde687eefa35fb","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://advisory.zerodaysec.org/advisory/kubernetes-headlamp-code-signing","label":"advisory.zerodaysec.org/advisory/kubernetes-headlamp-code-signing","hostname":"advisory.zerodaysec.org","tags":["X Refsource MISC"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2025-07-10T18:20:21.446Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-07-10T19:03:00.522Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":31,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T10:40:20.658Z","stale":false,"partial":false}}