# uniget CLI metadata signature verification logic inversion

Source: https://junglewise.ai/threats/uniget-cli-metadata-signature-verification-logic-inversion-d671aea8  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-17. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

Severity: high · CVSS 7.8 · Published 2026-08-17

The uniget CLI, a tool installer that downloads and runs binaries from a central catalog, has a critical logic error in its metadata verification code. The condition that enables signature checking on the tool catalog is inverted, causing signatures to be validated only when an environment variable named "ignore metadata signature" is set—the opposite of the intended behavior. This allows an attacker to poison the tool catalog (via a compromised registry, network tampering, or cached file) and execute arbitrary commands as the user running uniget, completely bypassing the security control added in a prior patch.

Technologies: [gitlab.com/uniget-org/cli (Go)](https://junglewise.ai/threats/technologies/gitlab-com-uniget-org-cli). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** High severity, with a CVSS score of 7.8, published 17 August 2026.

**Which products and versions are affected?** gitlab.com/uniget-org/cli (Go) >= 0.27.4, < 0.28.9; Uniget-Org Cli >=0.27.4, <0.28.9.

**Is there a fix for This vulnerability?** A patch was published on 2026-08-17: Fixed in version 0.28.9 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network or with local access, in a software library.

**Am I affected?** Check whether you run gitlab.com/uniget-org/cli (Go) or Uniget-Org Cli at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a logic inversion in the metadata signature verification gate in uniget/internal/config/update.go at line 81. The code checks `if len(os.Getenv("UNIGET_IGNORE_METADATA_SIGNATURE")) > 0` before calling `VerifySigstoreBundle()`, which means verification only runs when the ignore variable is set (non-empty). This inverted condition resulted from a commit (b68a27d5) that intended to accept any truthy value instead of the literal string "true", but accidentally dropped the negation operator in the rewrite. The same flipped logic appears in cmd/uniget/main.go:104 for the metadata re-download decision. Tool metadata populates the `Tool.Check` field, which is executed via `/bin/bash -c` in RunVersionCheck() without re-validation. An attacker with control over the metadata layer (compromised OCI registry, network interception, or poisoned local cache) can inject malicious shell commands that execute with the privileges of the user running uniget. The patch from v0.27.1 (which added sigstore verification) has been non-functional since v0.27.4.

## Affected products

- uniget-org cli >=0.27.4, <0.28.9

## Timeline

- 2026-08-17: disclosed: Published to GitHub Advisory Database
- 2026-08-17: patched: Fixed in version 0.28.9

## References

- [https://api.github.com/users/arpitjain099](https://api.github.com/users/arpitjain099)
- [https://github.com/arpitjain099](https://github.com/arpitjain099)
- [https://api.github.com/users/arpitjain099/gists%7B/gist_id%7D](https://api.github.com/users/arpitjain099/gists%7B/gist_id%7D)
- [https://api.github.com/users/arpitjain099/repos](https://api.github.com/users/arpitjain099/repos)
- [https://avatars.githubusercontent.com/u/3242828?v=4](https://avatars.githubusercontent.com/u/3242828?v=4)
- [https://api.github.com/users/arpitjain099/events%7B/privacy%7D](https://api.github.com/users/arpitjain099/events%7B/privacy%7D)

## Related threats

- [uniget CLI path traversal in hook file handling](https://junglewise.ai/threats/cve-2026-55062-uniget-cli-path-traversal-in-hook-file-handling)
- [uniget CLI command injection in EDITOR variable parsing](https://junglewise.ai/threats/cve-2026-55061-uniget-cli-command-injection-in-editor-variable-parsing)
- [GO-2026-6246 - uniget CLI: Metadata signature verification only runs when UNIGET_IGNORE_METADATA_SIGNATURE is set in…](https://junglewise.ai/threats/go-2026-6246-uniget-cli-metadata-signature-verification-only-runs-when-102bc8b2)
- [uniget command injection in metadata check field](https://junglewise.ai/threats/cve-2026-45152-uniget-command-injection-in-metadata-check-field)
