CVE-2026-104617 in Linux Enterprise Serverinfo

Summary

by MITRE • 10/15/2026

There are two invocations of `qrencode` to display a QR code for scanning. These invocations leak the private data $pin / $key via /proc accessible for arbitrary low-privileged users in the system.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/15/2026

The vulnerability described involves an improper handling of sensitive credentials within a software application that utilizes the qrencode library to generate QR codes containing authentication secrets such as PINs or cryptographic keys. The core technical flaw lies in how these private data elements are passed to the external process invocation for encoding. Instead of keeping the secret strictly within memory buffers managed by the primary application, the implementation likely passes the sensitive string directly via command-line arguments or environment variables when invoking qrencode. This architectural decision creates a critical exposure vector because modern operating systems expose detailed information about running processes through virtual file system interfaces, most notably /proc on Linux-based systems.

When an external process like qrencode is spawned with sensitive data in its command line arguments, the kernel makes this full command string available to any user account that has read access to the corresponding process ID directory under /proc/[pid]/cmdline or /proc/[pid]/environ. In standard Unix-like operating systems, while some system-wide files are restricted, many entries within the /proc filesystem remain readable by arbitrary low-privileged users for diagnostic and monitoring purposes. Consequently, any local user on the same machine can inspect the process list, identify the qrencode invocation associated with the application, and extract the plaintext PIN or private key from the exposed command line arguments without requiring elevated privileges.

This flaw represents a classic case of information leakage through side channels related to process visibility rather than traditional buffer overflows or logic errors in cryptographic implementation. The operational impact is severe because it effectively nullifies the security provided by keeping secrets out of logs or configuration files, as these are often protected by file system permissions that restrict access to specific users or groups. In contrast, /proc accessibility for reading process arguments is a fundamental feature of Unix-like operating systems designed for debugging and resource monitoring, making it nearly impossible to disable without compromising other legitimate administrative functions. An attacker with even minimal local shell access can harvest these credentials, potentially leading to unauthorized account takeover if the PIN or key grants access to sensitive services, financial accounts, or encrypted storage.

From a standards perspective, this vulnerability aligns closely with CWE-798: Use of Hard-coded Credentials and CWE-200: Exposure of Sensitive Information to an Unauthorized Actor. It also relates to CWE-312: Cleartext Storage of Sensitive Information if the application logic assumes that process isolation provides sufficient confidentiality boundaries, which is a flawed assumption in multi-user environments. In terms of attack patterns, this falls under ATT&CK technique T1057: Process Discovery, where an adversary enumerates running processes to gather intelligence on installed software and active configurations, followed by data exfiltration from local system resources.

To mitigate this vulnerability, the application must avoid passing sensitive secrets as command-line arguments or environment variables to external binaries. Instead, developers should implement secure inter-process communication mechanisms such as writing the secret to a temporary file with restrictive permissions (e.g., mode 0600) owned by the executing user and deleting it immediately after use, or using anonymous pipes to pass data directly into stdin of the qrencode process without exposing it in the process table. Additionally, employing memory-mapped files that are marked as private and non-swappable can help keep secrets out of swap space and /proc visibility. It is also advisable to audit all external command invocations within the codebase for similar patterns where sensitive data might be inadvertently exposed through OS-level process inspection tools.

Responsible

Suse

Reservation

10/02/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00103

KEV

no

Activities

medium

Sources

Want to know what is going to be exploited?

We predict KEV entries!