Cloudanix VulnDB

CVE-2022-31783

Medium · 5.5

CVSS

5.5

EPSS

1.1%

Published

Jun 2, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in a widely used Braille translation library can make programs that rely on it crash when they read certain specially prepared files.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Out-of-bounds write during rule compilation in compileTranslationTable.c triggered by malformed translation table input, resulting in memory corruption.

Why it matters to the business

Applications relying on Liblouis for Braille or accessibility translation may crash or become unstable when processing untrusted tables, disrupting accessibility workflows and requiring restarts or manual intervention.

How an attack unfolds

An attacker crafts a malicious translation table containing specially formed rules and supplies it to a Liblouis client such as lou_trace; the library parses the table, the faulty compileRule function writes beyond allocated bounds, and memory corruption occurs.

How to fix it

Upgrade liblouis to the commit ff747ec5e1ac54d54194846f6fe5bfc689192a85 or later release containing the fix.

How to confirm the fix worked

Confirm the installed version is newer than the vulnerable release, then attempt to process the original demonstration table with lou_trace and verify the process no longer crashes or writes out of bounds.

Typical attack path

  1. Obtain or generate a crafted translation table file
  2. Invoke a Liblouis utility or application with the malicious table as input
  3. Trigger rule compilation path that reaches the vulnerable compileRule function
  4. Observe resulting memory corruption and application instability

How to detect it

Review process crash logs and core dumps for Liblouis utilities; monitor for repeated invocations of lou_trace or similar tools with unexpected table files.

What your security team should do

  • Prioritize upgrade of all Liblouis installations to the fixed commit within standard change windows
  • Inventory downstream packages and applications that embed Liblouis and schedule coordinated updates
  • Add Liblouis version checks to software composition analysis pipelines

The record

Liblouis 3.21.0 has an out-of-bounds write in compileRule in compileTranslationTable.c, as demonstrated by lou_trace.

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
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