GHSA-m835-3cm9-rggg
Joker linter executed project-local .jokerd/linter.* files during linting
Quick fix
GHSA-m835-3cm9-rggg — github.com/candid82/joker: upgrade to the fixed version with the command below.
go get github.com/candid82/joker@v1.8.2Details
## Impact
In Joker versions before 1.8.2, `joker --lint <file>` 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).
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 1.8.2go get github.com/candid82/joker@v1.8.2