Skip to main content
← All vulnerabilities
CVE-2026-59172EUVD-2026-112077GHSA-M835-3CM9-RGGG

Joker linter executed project-local .jokerd/linter.* files during linting

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.8.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

Joker, a Clojure interpreter, linter, and formatter written in Go, is affected. When its linter runs on a file, it can execute code from project-local linter configuration files in an untrusted repository, so linting a checked-out project may run attacker-supplied code with the privileges of the user running the linter, such as an editor integration or CI job.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

Joker is a small Clojure interpreter, linter and formatter written in Go. Prior to 1.8.2, `joker --lint <file>` walks upward from the linted file to locate a `.jokerd/` directory and executes matching `linter.*` files before linting. Those files contain executable Joker/Clojure code, so linting a file inside an untrusted repository can execute repository-supplied code with the linter user's privileges. Editor integrations and CI jobs that automatically lint checked-out source can trigger this behavior. The patch stops executing project-local linter customizations and loads executable customization only from the user's home directory. This issue is fixed in version 1.8.2.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • candid82 joker

    fixed in 1.8.2

References 3

GitHub · candid82/joker