[26.4] CVE-2026-45292: size-limiting baggage propagator wrapper#51097
[26.4] CVE-2026-45292: size-limiting baggage propagator wrapper#51097Pepo48 wants to merge 2 commits into
Conversation
Closes: keycloak#49570 Signed-off-by: Peter Zaoral <pzaoral@redhat.com>
Unreported flaky test detectedIf the flaky tests below are affected by the changes, please review and update the changes accordingly. Otherwise, a maintainer should report the flaky tests prior to merging the PR. org.keycloak.testsuite.forms.AuthenticatorSubflowsTest2#testSubflow2Keycloak CI - Forms IT (chrome) org.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test13_registrationWithDefaultGroupsAndDeferredLdapCreationorg.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test14_registrationWithDefaultGroupsAndImmediateLdapCreationorg.keycloak.testsuite.federation.ldap.noimport.LDAPGroupMapperNoImportTest#test13_registrationWithDefaultGroupsAndDeferredLdapCreationorg.keycloak.testsuite.federation.ldap.noimport.LDAPGroupMapperNoImportTest#test14_registrationWithDefaultGroupsAndImmediateLdapCreation |
| } | ||
|
|
||
| // Uses get() instead of getAll() (added in OTel 1.45.0) — equivalent protection since | ||
| // OTel 1.44.x propagator itself only reads a single header |
There was a problem hiding this comment.
Does it mean it only reads the first one?
In any case, we should probably keep some tests for when there are multiple headers to check it behaves as expected.
There was a problem hiding this comment.
Yes, get() returns only the first value. I tried to explain it more in the description.
I added some more test cases - to check that second header is ignored, only first is parsed; to check whether oversized first header is blocked as expected to check that oversized second header doesn't matter since only the first is read.
* adapt baggage propagator wrapper for OTel 1.44.x Closes: keycloak#49570 Signed-off-by: Peter Zaoral <pzaoral@redhat.com>
3ffb973 to
4e147ab
Compare
Unreported flaky test detectedIf the flaky tests below are affected by the changes, please review and update the changes accordingly. Otherwise, a maintainer should report the flaky tests prior to merging the PR. org.keycloak.testsuite.forms.RPInitiatedFrontChannelLogoutTest#testFrontChannelLogoutWithoutSessionRequiredKeycloak CI - Forms IT (firefox) org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTPKeycloak CI - Java Distribution IT (windows-latest - temurin - 17) org.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test13_registrationWithDefaultGroupsAndDeferredLdapCreationorg.keycloak.testsuite.federation.ldap.LDAPGroupMapperTest#test14_registrationWithDefaultGroupsAndImmediateLdapCreationorg.keycloak.testsuite.federation.ldap.noimport.LDAPGroupMapperNoImportTest#test13_registrationWithDefaultGroupsAndDeferredLdapCreationorg.keycloak.testsuite.federation.ldap.noimport.LDAPGroupMapperNoImportTest#test14_registrationWithDefaultGroupsAndImmediateLdapCreation |
Closes: #49570
Cherry-picked from: 9bb7a95
Edit:
It needed to be adapted for OTel 1.44.x (Quarkus 3.27) that is used in 26.4. It uses
getter.get()instead ofgetAll(), which is not available in that OTel version. This provides equivalent protection because OTel 1.44.x'sW3CBaggagePropagatoritself only reads a single header viaget()(multi-header support was added in OTel 1.45.0). See the changes in the separate commit.