Read the docs
TI-2026-81981 Aliases CVE-2026-59172

Joker linter executes repository-supplied linter files

Priority LOW 35CWE-829Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-829.

Summary

Joker, a Clojure interpreter, linter and formatter written in Go, is affected before 1.8.2. When linting a file, it walks up to find a .jokerd/ directory and executes the linter.* files there before linting. The flaw is CWE-829, inclusion of functionality from an untrusted control sphere: a user who lints a file in an untrusted repository runs code the repository supplies, with that user's privileges. Editor integrations and CI jobs that lint checked-out source can trigger this automatically.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00162 5th percentileScored 2026-11-07
Fix Fixed joker (candid82): 1.8.2github.com/candid82/joker (Go): 1.8.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
candid82jokerbefore 1.8.21.8.2Patch availableCNA
—github.com/candid82/joker (Go)before 1.8.21.8.2Patch availableGHSA-m835-3cm9-rggg
  • joker Vendorcandid82 Affected before 1.8.2 Fixed in 1.8.2 Patch available CNA
  • github.com/candid82/joker (Go) Vendor— Affected before 1.8.2 Fixed in 1.8.2 Patch available GHSA-m835-3cm9-rggg

Remediation

Update Joker to version 1.8.2, which loads linter customization only from the user's home directory. The Go module github.com/candid82/joker lists 1.8.2 as its fixed version.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA joker (candid82) Fixed in 1.8.2
  • Fix · GHSA-m835-3cm9-rggg github.com/candid82/joker (Go) Fixed in 1.8.2 Advisory →

Timeline

  1. 2026-10-28 Threatist record created from CVE-2026-59172
  2. 2026-10-28 CISA SSVC decision points changed
  3. 2026-10-28 Priority changed: MEDIUM → LOW

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences