Skip to content

fix: CI downloads and executes code over plain HTTP (MITM risk) #2049

Description

@zkoppert

Summary

The CI workflow downloads and executes cpanminus over unencrypted HTTP, which allows a network attacker to modify the payload and gain arbitrary code execution in CI runners.

Location

.github/workflows/ci.yml:51:

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

Risk

Piping curl | perl over plain HTTP is a classic MITM vector. An attacker who can intercept network traffic (DNS poisoning, compromised network path, BGP hijack) could inject arbitrary Perl code that executes with --sudo privileges on the CI runner.

Suggested fix

Switch to HTTPS and ideally pin a checksum:

curl -fsSL https://cpanmin.us | perl - --sudo App::cpanminus

Or better, install from a package manager or cache the binary with a verified hash.

Context

Found during multi-model code review of PR #2048. Filed as a separate issue since it's a pre-existing concern outside that PR's scope.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions