---
id: CVE-2026-102555
title: >-
  Libsoup: libsoup: heap buffer overflow via uninitialized length in data-uri
  base64 decoding
summary: >-
  A flaw was found in libsoup. The soup_uri_decode_data_uri() function
  incorrectly treated base64 data-URI payloads as NUL-terminated strings when
  calling g_base64_decode_inplace(). If the percent-decoded payload contained
  embedded NUL byt…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H'
cvssSource: cna
cwe:
  - CWE-125
vendor: Red Hat
product: libsoup3
affected:
  - libsoup3 (all versions)
  - libsoup
  - libsoup (all versions)
  - libsoup (all versions)
  - libsoup (all versions)
published: '2026-09-29'
updated: '2026-09-29'
sourceUpdated: '2026-09-29T17:15:14.482Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-102555'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-102555'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2543224'
    label: RHBZ#2543224
tags:
  - cve.org
ingestedAt: '2026-09-29T17:41:02.261Z'
---

## Overview

A flaw was found in libsoup. The soup_uri_decode_data_uri() function incorrectly treated base64 data-URI payloads as NUL-terminated strings when calling g_base64_decode_inplace(). If the percent-decoded payload contained embedded NUL bytes, the decoded length could remain uninitialized and be used as the size of the returned GBytes. This can lead to an out-of-bounds read or application crash when processing a crafted data URI.

## Affected

- `libsoup3 (all versions)`
- `libsoup`
- `libsoup (all versions)`
- `libsoup (all versions)`
- `libsoup (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

To mitigate this do not pass untrusted data URIs to soup_uri_decode_data_uri().
