Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2022-48624

CVE-2022-48624: Greenwoodsoftware Less RCE Vulnerability

CVE-2022-48624 is a remote code execution flaw in Greenwoodsoftware Less caused by missing shell_quote calls in LESSCLOSE handling. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2022-48624 Overview

CVE-2022-48624 is a command injection vulnerability in the close_altfile function within filename.c in the less file pager utility. Versions before 606 fail to properly invoke shell_quote calls for the LESSCLOSE environment variable handler, allowing attackers to inject arbitrary shell commands through specially crafted filenames.

Critical Impact

Local attackers with low privileges can achieve arbitrary command execution with the permissions of the user running less, potentially leading to complete system compromise through malicious filename manipulation.

Affected Products

  • Greenwoodsoftware less versions prior to 606
  • Linux distributions shipping vulnerable less versions
  • Systems with LESSCLOSE environment variable configured

Discovery Timeline

  • 2024-02-19 - CVE CVE-2022-48624 published to NVD
  • 2025-03-27 - Last updated in NVD database

Technical Details for CVE-2022-48624

Vulnerability Analysis

This vulnerability exists because the close_altfile function in filename.c processes filenames without proper shell quoting when invoking the LESSCLOSE handler. The LESSCLOSE environment variable is designed to allow users to specify a command that runs after less closes a file, typically used for cleanup operations with input preprocessors. When filenames containing shell metacharacters are passed to this handler without sanitization, the shell interprets these characters, enabling command injection.

The attack requires local access and the ability to create or control filenames that will be viewed using less. When a user opens a maliciously crafted filename with less, the unquoted filename is passed directly to the shell through the LESSCLOSE mechanism, allowing embedded shell commands to execute with the user's privileges.

Root Cause

The root cause is a missing call to the shell_quote function when constructing the command string for LESSCLOSE execution. The less utility provides a shell_quote function specifically designed to escape shell metacharacters in strings that will be passed to shell execution. However, the close_altfile function in versions prior to 606 failed to apply this quoting to both the filename and alternate filename parameters, creating an injection vector.

Attack Vector

An attacker can exploit this vulnerability by creating a file with a malicious filename containing shell metacharacters and command sequences. When a victim uses less to view this file (or any file in the same directory depending on shell expansion), and LESSCLOSE is configured, the embedded commands execute upon file closure. This is a local attack vector requiring the attacker to either place malicious files on the system or trick a user into viewing attacker-controlled filenames.

c
// Security patch in filename.c - Shell-quote filenames when invoking LESSCLOSE
// Source: https://github.com/gwsw/less/commit/c6ac6de49698be84d264a0c4c0c40bb870b10144

 {
 #if HAVE_POPEN
 	char *lessclose;
+	char *qfilename;
+	char *qaltfilename;
 	FILE *fd;
 	char *cmd;
 	int len;

The patch introduces qfilename and qaltfilename variables to store the shell-quoted versions of the filename parameters before they are used in command construction.

Detection Methods for CVE-2022-48624

Indicators of Compromise

  • Presence of files with unusual shell metacharacters in filenames (e.g., $(command), backticks, semicolons)
  • Unexpected process executions spawned as children of less processes
  • LESSCLOSE environment variable set to suspicious or unexpected values
  • Audit logs showing command execution originating from less with unexpected arguments

Detection Strategies

  • Monitor for child process creation from less processes that don't match expected LESSCLOSE behavior
  • Implement file integrity monitoring on directories where users commonly browse files
  • Use endpoint detection to flag suspicious filename patterns containing shell injection characters
  • Review and audit LESSCLOSE environment variable configurations across systems

Monitoring Recommendations

  • Enable process auditing to track command execution chains involving the less utility
  • Configure SentinelOne behavioral AI to detect anomalous process trees originating from file viewing utilities
  • Monitor for creation of files with shell metacharacters in commonly accessed directories
  • Implement alerts for unexpected network connections or file system modifications from less processes

How to Mitigate CVE-2022-48624

Immediate Actions Required

  • Upgrade less to version 606 or later immediately
  • Audit systems for configured LESSCLOSE environment variables
  • Consider temporarily unsetting LESSCLOSE on critical systems until patching is complete
  • Review recent file access logs for suspicious filename patterns

Patch Information

The vulnerability was fixed in less version 606. The security commit introduces proper shell quoting for filenames passed to the LESSCLOSE handler. A version comparison between v605 and v606 shows the complete changes.

Distribution-specific patches are available:

Workarounds

  • Unset the LESSCLOSE environment variable to disable the vulnerable functionality: unset LESSCLOSE
  • Use alternative file viewing utilities such as cat, more, or view until patching
  • Implement strict filename validation in environments where users may encounter untrusted files
  • Configure file system permissions to prevent creation of files with shell metacharacters in shared directories
bash
# Configuration example - Disable LESSCLOSE to mitigate vulnerability
# Add to /etc/profile or user's shell configuration

# Unset LESSCLOSE to prevent command injection
unset LESSCLOSE

# Alternatively, verify less version is patched
less --version | head -1
# Ensure version is 606 or higher

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.