Read the docs
TI-2024-14356 Aliases CVE-2024-21631GHSA-r6r4-5pr8-gjcp

Integer overflow in URI leading to potential host spoofing

Priority LOW 36CWE-1104Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Vapor is an HTTP web framework for Swift. Prior to version 4.90.0, Vapor's `vapor_urlparser_parse` function uses `uint16_t` indexes when parsing a URI's components, which may cause integer overflows when parsing untrusted inputs. This vulnerability does not affect Vapor directly but could impact applications relying on the URI type for validating user input. The URI type is used in several places in Vapor. A developer may decide to use URI to represent a URL in their application (especially if that URL is then passed to the HTTP Client) and rely on its public properties and methods. However, URI may fail to properly parse a valid (albeit abnormally long) URL, due to string ranges being converted to 16-bit integers. An attacker may use this behavior to trick the application into accepting a URL to an untrusted destination. By padding the port number with zeros, an attacker can cause an integer overflow to occur when the URL authority is parsed and, as a result, spoof the host. Version 4.90.0 contains a patch for this issue. As a workaround, validate user input before parsing as a URI or, if possible, use Foundation's `URL` and `URLComponents` utilities.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00601 48th percentileScored 2026-11-07
Fix Fixed vapor (vapor): 4.90.0github.com/vapor/vapor (SwiftURL): 4.90.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
vaporvaporbefore 4.90.04.90.0Patch availableCNA
—github.com/vapor/vapor (SwiftURL)before 4.90.04.90.0Patch availableGHSA-r6r4-5pr8-gjcp
  • vapor Vendorvapor Affected before 4.90.0 Fixed in 4.90.0 Patch available CNA
  • github.com/vapor/vapor (SwiftURL) Vendor— Affected before 4.90.0 Fixed in 4.90.0 Patch available GHSA-r6r4-5pr8-gjcp

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:vapor:vapor:*:*:*:*:*:*:*:*before 4.90.0Vulnerablevapor
  • cpe:2.3:a:vapor:vapor:*:*:*:*:*:*:*:* Versions before 4.90.0 Vulnerable ·vapor

Remediation

  • Fix · CNA vapor (vapor) Fixed in 4.90.0
  • Fix · GHSA-r6r4-5pr8-gjcp github.com/vapor/vapor (SwiftURL) Fixed in 4.90.0 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-21631
  2. 2026-10-03 Alias added: GHSA-r6r4-5pr8-gjcp

References

  • TI-2022-13064 DoS Vulnerability in URLEncodedFormDecoder in Vapor CVSS 3.1HIGH 7.5
  • TI-2022-13051 Integer Overflow in Vapor's HTTP Range Request CVSS 3.1HIGH 7.5
  • TI-2023-23892 Incorrect request error handling triggers server crash in Vapor CVSS 3.1MEDIUM 5.3

Sources