]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
[CVE-2024-48916] rgw/sts: fix to disallow unsupported JWT algorithms 62137/head
authorPritha Srivastava <prsrivas@redhat.com>
Tue, 5 Nov 2024 06:33:00 +0000 (12:03 +0530)
committerAdam Emerson <aemerson@redhat.com>
Wed, 5 Mar 2025 15:48:59 +0000 (10:48 -0500)
while authenticating AssumeRoleWithWebIdentity using JWT obtained
from an external IDP.

fixes: https://tracker.ceph.com/issues/68836

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
(cherry picked from commit 919da3696668a07c6810dfa39301950c81c2eba4)

Fixes: https://tracker.ceph.com/issues/69258
Signed-off-by: Adam Emerson <aemerson@redhat.com>
src/rgw/rgw_rest_sts.cc

index b9c23aa159c2665e3066cf74d5270fd501bbf6b3..2ceb30f589e02c9215af0ad9aa4c039380d13292 100644 (file)
@@ -437,6 +437,9 @@ WebTokenEngine::validate_signature(const DoutPrefixProvider* dpp, const jwt::dec
                               .allow_algorithm(jwt::algorithm::ps512{cert});
 
                 verifier.verify(decoded);
+              } else {
+                ldpp_dout(dpp, 0) << "Unsupported algorithm: " << algorithm << dendl;
+                throw -EINVAL;
               }
             } catch (std::runtime_error& e) {
               ldpp_dout(dpp, 0) << "Signature validation failed: " << e.what() << dendl;