Fixes: https://tracker.ceph.com/issues/43018
Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>
(cherry picked from commit
b8fca700b52683931052d1567aa259647f977b59)
Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>
rgw::auth::s3::STSEngine::get_session_token(const boost::string_view& session_token,
STS::SessionToken& token) const
{
- string decodedSessionToken = rgw::from_base64(session_token);
+ string decodedSessionToken;
+ try {
+ decodedSessionToken = rgw::from_base64(session_token);
+ } catch (...) {
+ ldout(cct, 0) << "ERROR: Invalid session token, not base64 encoded." << dendl;
+ return -EINVAL;
+ }
auto* cryptohandler = cct->get_crypto_handler(CEPH_CRYPTO_AES);
if (! cryptohandler) {