A AegiFlow
HIGHCVSS 7.8

CVE-2026-59172

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

Published
2026-09-09
Modified
2026-09-09
Aliases
GHSA-m835-3cm9-rggg
Sources
github-advisory

Summary

## Impact In Joker versions before 1.8.2, `joker --lint ` located a `.jokerd/` directory by walking up from the linted file and executed matching `linter.*` files from that directory before linting. Because these files are executable Joker/Clojure code, linting a file inside an untrusted repository could execute code supplied by that repository. This could be triggered by editor integrations or CI jobs that automatically run `joker --lint` on checked-out source code. ## Patches Fixed in Joker v1.8.2. Executable linter customization files are now loaded only from the user's home `.jokerd` directory (`~/.jokerd/linter.cljc`, `~/.jokerd/linter.clj`, `~/.jokerd/linter.cljs`, or `~/.jokerd/linter.joke`). Project-local `.jokerd/linter.*` files are no longer executed. ## Workarounds Users who cannot upgrade should avoid running `joker --lint` on untrusted repositories, especially through editor integrations or unattended CI. Removing or disabling project-local `.jokerd/linter.*` files before linting also avoids the code-execution path. ## Credits Reported by Younghun Ko of AhnLab (@koyokr).

Affected packages

EcosystemPackageAffected versionsFixed versions
Gogithub.com/candid82/joker1.8.2

Remediation: Upgrade to 1.8.2 or later.

References

Includes data from the GitHub Advisory Database, licensed under CC-BY 4.0.

CVE® is a registered trademark of The MITRE Corporation. CVE content reproduced under the CVE Terms of Use; copyright designation © MITRE.