Cloudanix VulnDB

CVE-2022-26981

High · 7.8

CVSS

7.8

EPSS

1.5%

Published

Mar 13, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in a widely used Braille translation library lets attackers who trick someone into opening a specially made file take over that person's computer.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Full Compromise
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Buffer overflow in compilePassOpcode within compileTranslationTable.c allows out-of-bounds memory writes when processing a malformed translation table file.

Why it matters to the business

Attackers who convince users to process malicious table files can execute arbitrary code on the affected system, leading to potential data theft, ransomware deployment, or full host compromise across libraries and downstream applications in Linux distributions and Apple platforms.

How an attack unfolds

An attacker crafts a malicious translation table containing oversized input that triggers the overflow during compilation; the victim is tricked into running lou_checktable or another tool that loads the table, causing the overflow to overwrite memory and execute attacker-controlled code.

How to fix it

Upgrade liblouis to a version newer than 3.21.0 that resolves the buffer handling issue in compileTranslationTable.c; rebuild and redeploy any dependent packages in Fedora, Apple platforms, or other distributions; scan for and replace any locally compiled vulnerable instances.

How to confirm the fix worked

Confirm package version exceeds 3.21.0 via package manager or source build; attempt to compile a test table with oversized pass opcodes and verify the process no longer crashes or writes beyond bounds; re-run regression tests in lou_checktable and dependent Braille translation workflows.

Typical attack path

  1. Craft malicious translation table file exploiting compilePassOpcode buffer handling
  2. Deliver file via email, download link, or shared storage to target user
  3. Victim executes lou_checktable or equivalent tool that processes the table
  4. Overflow occurs, shellcode executes with user privileges
  5. Attacker establishes persistence or escalates privileges on host

How to detect it

Review system logs and process execution history for invocations of lou_checktable or liblouis tools against unexpected file paths; inspect core dumps or crash reports indicating memory corruption in compileTranslationTable.c; correlate with file creation or download events preceding tool execution.

What your security team should do

  • Prioritize patching liblouis across all Linux, Fedora, and Apple environments due to available public exploits
  • Block execution of lou_checktable and related tools on untrusted table files via application allow-listing
  • Monitor for unusual process crashes or memory corruption in Braille/translation tooling
  • Update internal build pipelines to reject vulnerable liblouis versions

The record

Liblouis through 3.21.0 has a buffer overflow in compilePassOpcode in compileTranslationTable.c (called, indirectly, by tools/lou_checktable.c).

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 liblouis 0 No fix
Debian:12 liblouis 0 3.22.0-1
Debian:13 liblouis 0 3.22.0-1
SUSE:Enterprise Storage 6 liblouis 0 3.3.0-150000.4.8.1
SUSE:Enterprise Storage 7 liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise High Performance Computing 15-ESPOS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise High Performance Computing 15-LTSS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 liblouis 0 3.20.0-150400.3.3.1
SUSE:Linux Enterprise Server 15 SP1-BCL liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Server 15 SP1-LTSS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Server 15 SP2-BCL liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise Server 15 SP2-LTSS liblouis 0 3.11.0-150200.3.3.1
SUSE:Linux Enterprise Server 15-LTSS liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Server for SAP Applications 15 liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 liblouis 0 3.3.0-150000.4.8.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 liblouis 0 3.11.0-150200.3.3.1
SUSE:Manager Proxy 4.1 liblouis 0 3.11.0-150200.3.3.1
SUSE:Manager Retail Branch Server 4.1 liblouis 0 3.11.0-150200.3.3.1
SUSE:Manager Server 4.1 liblouis 0 3.11.0-150200.3.3.1
Ubuntu:18.04:LTS liblouis 0 3.5.0-1ubuntu0.4
Ubuntu:20.04:LTS liblouis 0 3.12.0-3ubuntu0.1
Ubuntu:22.04:LTS liblouis 0 3.20.0-2ubuntu0.1
Ubuntu:Pro:16.04:LTS liblouis 0 No fix
openSUSE:Leap 15.3 liblouis 0 3.11.0-150200.3.3.1
openSUSE:Leap 15.3 liblouis 0 3.3.0-150000.4.8.1
openSUSE:Leap 15.4 liblouis 0 3.11.0-150200.3.3.1
openSUSE:Leap 15.4 liblouis 0 3.3.0-150000.4.8.1
openSUSE:Leap 15.4 liblouis 0 3.20.0-150400.3.3.1
openSUSE:Tumbleweed liblouis 0 3.21.0-2.1

Related vulnerabilities