Critical Vulnerability in Lookatme Package: Automatic Execution of Malicious Commands

lookatme Updated 02 Oct 2025

Summary

26/10/2020
N/A
Yes i
Unrated
Not published

DEBIAN-CVE-2020-15271: In lookatme (python/pypi package) versions prior to 2.3.0, the package automatically loaded the built-in "terminal" and "file_loader" extensions. Affects lookatme versions < 2.3.0-1. Fixed in 2.3.0-1. 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 MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Lookatme is a Python package designed for rendering markdown content, allowing users to create visually appealing presentations and documents. It is widely used for its simplicity and effectiveness in handling markdown syntax. However, prior to version 2.3.0, Lookatme had a significant security flaw that enabled the automatic loading of built-in extensions, which could lead to the execution of malicious shell commands when rendering untrusted markdown.

Vulnerability Detail

The vulnerability in Lookatme arises from its automatic loading of the 'terminal' and 'file_loader' extensions in versions prior to 2.3.0. This design flaw allows attackers to craft markdown content that, when rendered, executes arbitrary shell commands on the user's system. The implications of this vulnerability are severe, as it can lead to unauthorized access, data breaches, or system compromise, particularly for users who render untrusted markdown content.

How To Fix

Minimum fixed version

2.3.0-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade lookatme

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As an immediate workaround, users can manually delete the 'terminal.py' and 'file_loader.py' files located in the 'lookatme/contrib/' directory. This action will prevent the automatic loading of these extensions and mitigate the risk of executing malicious commands.

Conclusion

The Lookatme package has a critical vulnerability that allows for the execution of malicious commands through untrusted markdown rendering. Users are strongly advised to update to version 2.3.0 or later to mitigate this risk. Additionally, manual workarounds can be employed until an update can be performed.

See every vulnerability recorded for lookatme →

Share this vulnerability

FAQ

All versions of Lookatme prior to 2.3.0 are affected by this vulnerability.

The risks include unauthorized execution of shell commands, which can lead to data breaches, system compromise, and loss of sensitive information.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without requiring any signup.

Yes, Vulert can monitor and alert you in real-time for open-source vulnerabilities using just a manifest file like package-lock.json.

If an immediate update is not possible, manually deleting the 'terminal.py' and 'file_loader.py' files is recommended as a temporary measure.

Related vulnerabilities

Recent vulnerabilities recorded for lookatme.

How To Fix

Minimum fixed version

2.3.0-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade lookatme

Tip — Not sure which version your app runs? Vulert can match this fix to it. 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