Malicious Code Execution Vulnerability in semvver Package

semvver Updated 21 Oct 2026

Summary

20/10/2026
CRITICAL
No i
Critical
Not published

MAL-2026-18104: Malicious code in semvver (PyPI). Affects semvver versions 1.0.0. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The semvver package, available on PyPI, is designed as a utility helper for Python developers. However, it has been identified as containing malicious code that executes during installation. The package's primary functionality is compromised, as it serves as a dropper for executing arbitrary code on the installer's machine, posing significant security risks.

Vulnerability Detail

The vulnerability originates from the setup.py file of the semvver package, which performs an install-time fetch-and-execute operation. It uses urllib.request.urlretrieve to download a binary from an unverified Cloudflare Workers subdomain and executes it as a detached background process. This behavior allows an attacker to gain arbitrary code execution on the installer's host without any verification of the downloaded content. The package lacks any legitimate functionality, making the malicious payload its sole purpose.

How To Fix

This package is malicious. Remove it and rotate any credentials it could have accessed.

pip uninstall semvver

If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary measure, avoid installing the semvver package until a secure version is released. If you have already installed it, you can uninstall it using the command: pip uninstall semvver.

Conclusion

The semvver package has been identified as containing malicious code that poses significant security risks to users. It is essential to uninstall the package and monitor for any updates or patches. Utilizing tools like Vulert can help in identifying vulnerabilities in your applications.

See every vulnerability recorded for semvver →

Share this vulnerability

FAQ

semvver is a utility helper package for Python developers, but it has been compromised with malicious code.

The vulnerability allows the package to download and execute malicious code during installation, leading to potential arbitrary code execution on the user's machine.

You should uninstall the semvver package immediately using the command: pip uninstall semvver.

Currently, there is no patched version available. Monitor the package repository for updates.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. You can check if your application is affected by this vulnerability using the Vulert playground without signup.

How To Fix

This package is malicious. Remove it and rotate any credentials it could have accessed.

pip uninstall semvver

If it arrived as a transitive dependency, remove the package that pulled it in, then reinstall.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback