p PatchFirst

CVE-2026-97149

CVE-2026-97149

This page contains facts from public vulnerability sources. Check the original advisory before updating.

In OpenStack Swift before 2.38.2, the tempurl middleware does not reject the X-Copy-From header on PUT requests. A TempURL signature only covers the method, expiry, and path, and thus the list of disallowed headers is the only defense against a signed PUT request changing what the request does. An attacker holding a PUT TempURL for a single object can add an X-Copy-From header naming any object in the same account; the copy middleware copies that object to the destination, and the attacker then reads the victim's data back with a GET TempURL for the destination object. Copies across account boundaries are rejected. Only deployments using the shipped default proxy pipeline (tempurl and copy middleware) with account-level TempURL keys are affected.

CVSS 5.3 · Medium · EPSS 0.2% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • swift

    Versions
    • ≥ 2.4.0, < 2.35.5: Affected (semver)
    • ≥ 2.36.0, < 2.36.4: Affected (semver)
    • ≥ 2.37.0, < 2.37.4: Affected (semver)
    • ≥ 2.38.0, < 2.38.2: Affected (semver)

    Update to 2.35.5; Update to 2.36.4; Update to 2.37.4; Update to 2.38.2

  • swift Debian:12

    Versions
    • 2.30.0-4
    • 2.30.1-0+deb12u1
    • 2.30.1-0+deb12u2
    Affected ranges
    • ECOSYSTEM: < 2.30.1-0+deb12u3

    Update to 2.30.1-0+deb12u3

  • swift Debian:13

    Versions
    • 2.35.0-4
    • 2.35.1-0+deb13u1
    • 2.35.1-0+deb13u2
    • 2.35.1-0+deb13u3
    Affected ranges
    • ECOSYSTEM: < 2.35.1-0+deb13u4

    Update to 2.35.1-0+deb13u4

  • swift Debian:14

    Versions
    • 2.35.0-4
    • 2.35.1-1
    • 2.35.1-2
    • 2.36.0-1
    • 2.36.0-2
    • 2.36.0-3
    • 2.36.0-4
    • 2.36.0-5
    • 2.36.0-6
    • 2.36.0-7
    • 2.36.0-8
    • 2.37.0-1
    • 2.37.1-1
    • 2.37.1-2
    • 2.37.1-3
    • 2.37.1-4
    • 2.37.1-5
    • 2.37.1-6
    • 2.38.1-1
    • 2.38.1-2
    Affected ranges
    • ECOSYSTEM: < 2.38.1-3

    Update to 2.38.1-3

  • swift Ubuntu:16.04:LTS

    Versions
    • 2.5.0-0ubuntu1
    • 2.7.0-0ubuntu2
    • 2.7.0-0ubuntu2.1
    • 2.7.1-0ubuntu1
    • 2.7.1-0ubuntu2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:18.04:LTS

    Versions
    • 2.15.1-0ubuntu3
    • 2.16.0-0ubuntu1
    • 2.16.0-0ubuntu2
    • 2.17.0-0ubuntu1
    • 2.17.1-0ubuntu1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:20.04:LTS

    Versions
    • 2.23.0-0ubuntu1
    • 2.23.1-0ubuntu1
    • 2.24.0~git2019121715.e890b0f0f-0ubuntu1
    • 2.24.0-0ubuntu1
    • 2.24.1~git2020032711.712bf3c9f-0ubuntu2
    • 2.24.1~git2020041316.a495f1e32-0ubuntu1
    • 2.25.0-0ubuntu0.20.04.1
    • 2.25.1-0ubuntu1
    • 2.25.2-0ubuntu1
    • 2.25.2-0ubuntu1.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:22.04:LTS

    Versions
    • 2.28.0+git2021090911.5d52afbe4-0ubuntu1
    • 2.28.0+git2021120815.1859f2e16-0ubuntu1
    • 2.28.0+git2021121320.876377435-0ubuntu1
    • 2.28.0+git2022011309.32da73f5c-0ubuntu1
    • 2.29.0+git2022030314.3ff3076ce-0ubuntu1
    • 2.29.0+git2022030314.3ff3076ce-0ubuntu2
    • 2.29.1-0ubuntu1
    • 2.29.2-0ubuntu1
    • 2.29.2-0ubuntu1.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:24.04:LTS

    Versions
    • 2.32.0+git2023090714.8ce961ed-0ubuntu1
    • 2.32.0+git2024021508.3aba22fd-0ubuntu1
    • 2.32.0+git2024030809.4135133a-0ubuntu1
    • 2.33.0-0ubuntu1
    • 2.33.0-0ubuntu1.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:26.10

    Versions
    • 2.37.1-0ubuntu2
    • 2.38.0+git20260812.91.3064444-0ubuntu1
    • 2.38.1-0ubuntu1
    • 2.38.2-0ubuntu1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • swift Ubuntu:26.04:LTS

    Versions
    • 2.36.0-0ubuntu1
    • 2.37.0-0ubuntu1
    • 2.37.1-0ubuntu2
    • 2.37.1-0ubuntu2.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →