Linux Dev Setup Downloads Unsigned Packages Over HTTP
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 16.4k
- Forks
- 537
- Avg merge
- 22d 5h
- Merged PRs (30d)
- 1
Description
Summary
The automated Linux setup script retrieves libtinfo5 via wget http://security.ubuntu.com/... and immediately installs it with sudo apt install ./libtinfo5.... The download is plaintext HTTP with no checksum or signature verification, enabling code execution as root via MITM or DNS poisoning.
STR
- Run
node -e "require('./npm_modules/cli/dist/setup/linuxSetup').linuxSetup()"(or inspect the TypeScript source) to see the commands at lines 16‑19. - Place the developer on an untrusted network and ARP-spoof
security.ubuntu.com, serving a malicious .deb. - When the script runs, the forged package is installed with root privileges, giving the attacker persistence on every developer workstation.
Remediation
Drop manual HTTP downloads. Install libtinfo5 from the official HTTPS apt repository (which enforces GPG signatures), or download over HTTPS and verify a published checksum/signature before calling sudo apt install.
Impact
Compromised developer machines become a launchpad for supply-chain attacks against Valdi and any consumer of the framework. Root-level compromise also exposes credentials, signing keys, and unreleased code.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with npm_modules/cli/dist/setup/linuxSetup and the TypeScript source around lines 16-19, then run the documented node command to inspect the setup flow. Replace the plaintext, unverified package retrieval with the stated secure installation approach, and confirm that no unsigned package is installed via HTTP.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript, ubuntu
- Domain
- devops, operating-systems, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 42/100