Cloudanix VulnDB

CVE-2022-29978

Medium · 6.5

CVSS

6.5

EPSS

1.0%

Published

May 11, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A tool that turns pictures into a special text format can suddenly stop working if someone sends it a bad picture file, halting any service that needs to convert those pictures.

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

What it actually does

A floating point exception occurs in sixel_encoder_do_resize (encoder.c:633) when libsixel processes a malformed JPEG, causing the img2sixel process to terminate abnormally.

Why it matters to the business

Image conversion or viewing services that rely on libsixel become unavailable when they encounter a malicious image file, interrupting workflows that depend on sixel output generation.

How an attack unfolds

An attacker creates a specially crafted JPEG that triggers an unhandled floating-point error inside the resize routine; when a victim application invokes img2sixel or an equivalent sixel encoder on the file, the process crashes and service is denied.

How to fix it

Upgrade to a patched version of libsixel once released; until then, isolate or disable img2sixel processing of untrusted JPEG files and apply input sanitization or sandboxing around the converter.

How to confirm the fix worked

Confirm the installed libsixel version is newer than 1.8.6; test conversion of the original proof-of-concept JPEG and verify the process no longer terminates with a floating-point exception.

Typical attack path

  1. Craft a JPEG file that causes division-by-zero or invalid floating-point operation in sixel_encoder_do_resize
  2. Deliver the file to a target system or service that uses libsixel 1.8.6 for image-to-sixel conversion
  3. Trigger conversion via command-line tool, library API call, or automated pipeline
  4. Observe process termination and denial of service

How to detect it

Review application and system logs for abrupt termination of img2sixel or processes linking against libsixel, especially entries containing floating-point exception, SIGFPE, or stack traces referencing sixel_encoder_do_resize.

  • sixel_encoder_do_resize
  • encoder.c:633
  • Floating point exception
  • img2sixel

What your security team should do

  • Inventory all systems and containers using libsixel or the img2sixel binary
  • Block or filter untrusted JPEG inputs to sixel conversion paths until an update is available
  • Monitor process crash logs for floating-point exceptions originating from encoder.c
  • Plan upgrade to the next stable libsixel release as soon as it is published

The record

There is a floating point exception error in sixel_encoder_do_resize, encoder.c:633 in libsixel img2sixel 1.8.6. Remote attackers could leverage this vulnerability to cause a denial-of-service via a crafted JPEG file.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 libsixel 0 No fix
Debian:12 libsixel 0 No fix
Debian:13 libsixel 0 No fix
Ubuntu:16.04:LTS libsixel 0 No fix
Ubuntu:18.04:LTS libsixel 0 No fix
Ubuntu:20.04:LTS libsixel 0 No fix
Ubuntu:22.04:LTS libsixel 0 No fix
Ubuntu:24.04:LTS libsixel 0 No fix
Ubuntu:24.10 libsixel 0 No fix
Ubuntu:25.04 libsixel 0 No fix
Ubuntu:25.10 libsixel 0 No fix
Ubuntu:Pro:16.04:LTS libsixel 0 No fix
Ubuntu:Pro:18.04:LTS libsixel 0 No fix
Ubuntu:Pro:20.04:LTS libsixel 0 No fix

Related vulnerabilities