8.1 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): High (H)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): High (H)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
Ceph RGW SigV4 handler accepts unsigned x-amz-* headers on presigned requests, allowing privilege escalation
Ceph is an open-source distributed storage platform providing object, block, and file storage. In versions prior to 20.2.4 and 19.2.6, the Ceph Object Gateway (RGW) SigV4 handler does not reject requests that carry x-amz-* headers absent from the signed header set, allowing anyone holding a presigned URL to attach arbitrary unsigned x-amz-* headers that RGW will honor. AWS S3 requires every x-amz-* header on a SigV4 request to be signed and rejects requests bearing additional unsigned headers, but RGW validates only the headers listed in X-Amz-SignedHeaders and ignores any extra ones, so they take effect without being covered by the signature. By adding such headers to a presigned PUT URL, an attacker can grant themselves more capabilities than the URL's signer intended and escalate their privileges. This issue is fixed in versions 20.2.4 and 19.2.6.
References
-
https://github.com/ceph/ceph/security/advisories/GHSA-rmjq-ffrm-j6vj x_refsource_CONFIRM
Affected products
- ==>= 19.0.0, < 19.2.6
- ==>= 20.0.0, < 20.2.4
Matching in nixpkgs
pkgs.ceph
Distributed storage system
pkgs.calceph
C library for interacting with binary planetary ephemeris files, such INPOPxx, JPL DExxx and SPICE
pkgs.libceph
Distributed storage system
pkgs.ceph-csi
Container Storage Interface (CSI) driver for Ceph RBD and CephFS
pkgs.ceph-dev
Distributed storage system
pkgs.ceph-client
Distributed storage system
pkgs.kubectl-rook-ceph
Krew plugin to run kubectl commands with rook-ceph
pkgs.sbclPackages.cephes
None
-
nixos-unstable 20260101-git
- nixpkgs-unstable 20260101-git
- nixos-unstable-small 20260101-git
-
nixos-26.05 20260101-git
- nixos-26.05-small 20260101-git
- nixpkgs-26.05-darwin 20260101-git
Package maintainers
-
@kiranshila Kiran Shila <me@kiranshila.com>
-
@alexanderkjeldaas Alexander Kjeldaas <ak@formalprivacy.com>
-
@johanot Johan Thomsen <write@ownrisk.dk>
-
@krav Kristoffer Thømt Ravneberg <kristoffer@microdisko.no>
-
@adevress Adrien Devresse <adev@adev.name>
-
@benaryorg benaryorg <binary@benary.org>
-
@nh2 Niklas Hambüchen <mail@nh2.me>
-
@vinylen Victor Nilsson <victor@viclab.se>
-
@nagy Daniel Nagy <danielnagy@posteo.de>
-
@7c6f434c Michael Raskin <7c6f434c@mail.ru>
-
@Uthar Kasper Gałkowski <galkowskikasper@gmail.com>
-
@lukego Luke Gorrie <luke@snabb.co>
-
@hraban Hraban Luyat <hraban@0brg.net>