---
id: CVE-2026-103399
title: A flaw was found in SoupServer (libsoup)
summary: >-
  A flaw was found in SoupServer (libsoup). When an HTTP/1.x client sends a
  request with Expect: 100-continue and a request body, and SoupServer returns
  an early final (non-1xx) response before the body is read, the server neither
  drains t…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'
cwe:
  - CWE-444
vendor: Red Hat
product: libsoup3
affected:
  - libsoup3 (all versions)
  - libsoup
  - libsoup (all versions)
  - libsoup (all versions)
  - libsoup (all versions)
published: '2026-09-30'
updated: '2026-09-30'
sourceUpdated: '2026-09-30T20:17:30.987'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-103399'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-103399'
    label: secalert@redhat.com
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2543949'
    label: secalert@redhat.com
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-30T19:10:59.353028Z'
ingestedAt: '2026-09-30T18:17:24.540Z'
---

## Overview

A flaw was found in SoupServer (libsoup). When an HTTP/1.x client sends a request with Expect: 100-continue and a request body, and SoupServer returns an early final (non-1xx) response before the body is read, the server neither drains the declared body bytes nor closes the connection. On a keep-alive connection, those leftover bytes are interpreted as a subsequent HTTP request. A remote, unauthenticated attacker can place a complete HTTP request in the body and cause SoupServer to process that smuggled request, leading to unintended request handling.

## Remediation

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