diff --git a/0025-fix-rgw-ldap-safe_read_file-can-return-0.patch b/0025-fix-rgw-ldap-safe_read_file-can-return-0.patch new file mode 100644 index 0000000000000000000000000000000000000000..8108c2cadba1271924edc7563d9f63cf5de9c28f --- /dev/null +++ b/0025-fix-rgw-ldap-safe_read_file-can-return-0.patch @@ -0,0 +1,31 @@ +From 65cd8accc127c6765f083a389455ce73b7517e11 Mon Sep 17 00:00:00 2001 +From: Matt Benjamin +Date: Fri, 4 Jan 2019 15:31:56 -0500 +Subject: [PATCH] rgw ldap: safe_read_file can return < 0 + +Avoid invalid string access when LDAP auth is enabled, but LDAP +secret is not set. This is Casey's fix for the problem. + +Fixes: https://tracker.ceph.com/issues/24228 + +Signed-off-by: Matt Benjamin +--- + src/rgw/rgw_ldap.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rgw/rgw_ldap.cc b/src/rgw/rgw_ldap.cc +index a39afa6c..d1681641 100644 +--- a/src/rgw/rgw_ldap.cc ++++ b/src/rgw/rgw_ldap.cc +@@ -27,7 +27,7 @@ std::string parse_rgw_ldap_bindpw(CephContext* ctx) + memset(bindpw, 0, 1024); + int pwlen = safe_read_file("" /* base */, ldap_secret.c_str(), + bindpw, 1023); +- if (pwlen) { ++ if (pwlen > 0) { + ldap_bindpw = bindpw; + boost::algorithm::trim(ldap_bindpw); + if (ldap_bindpw.back() == '\n') +-- +2.30.0 + diff --git a/ceph.spec b/ceph.spec index 78203f5770c2361d0fadf4c2316f53b4041e58c8..f6e08331581772eb1a459a8bf27691b07b58dbfa 100644 --- a/ceph.spec +++ b/ceph.spec @@ -68,7 +68,7 @@ ################################################################################# Name: ceph Version: 12.2.8 -Release: 20 +Release: 21 Epoch: 2 # define _epoch_prefix macro which will expand to the empty string if epoch is @@ -108,6 +108,7 @@ Patch21: 0021-common-mempool-Add-test-for-mempool-shards.patch Patch22: 0022-common-mempool-Modify-shard-selection-function.patch Patch23: 0023-common-mempool-only-fail-tests-if-sharding-is-very-b.patch Patch24: 0024-CVE-2021-3979.patch +Patch25: 0025-fix-rgw-ldap-safe_read_file-can-return-0.patch Requires: glibc >= 2.28-66 @@ -1856,6 +1857,9 @@ exit 0 %changelog +* Fri May 20 2022 wangzengliang - 2:12.2.8-21 +- fix rgw failed start when LDAP enabled + * Sun Jan 29 2022 luo rixin - 1:12.2.8-20 - fix CVE-2021-3979