Apache Druid używa kryptograficznie słabego generatora liczb losowych (ThreadLocalRandom) do tworzenia zapasowego sekretu podpisującego ciasteczka uwierzytelniające Kerberos, gdy parametr `druid.auth.authenticator.kerberos.cookieSignatureSecret` nie jest jawnie skonfigurowany. Pozwala to atakującemu na przewidzenie lub siłowe odgadnięcie sekretu, a w konsekwencji na sfałszowanie tokenów i ominięcie uwierzytelnienia.
▸ Pokaż oryginał (EN)
Apache Druid’s Kerberos authenticator uses a weak fallback secret when the `druid.auth.authenticator.kerberos.cookieSignatureSecret` configuration is not explicitly set. In this case, the secret is generated using `ThreadLocalRandom`, which is not a crypto-graphically secure random number generator. This may allow an attacker to predict or brute force the secret used to sign authentication cookies, potentially enabling token forgery or authentication bypass. Additionally, each process generates its own fallback secret, resulting in inconsistent secrets across nodes. This causes authentication failures in distributed or multi-broker deployments, effectively leading to a incorrectly configured clusters. Users are advised to configure a strong `druid.auth.authenticator.kerberos.cookieSignatureSecret` This issue affects Apache Druid: through 34.0.0. Users are recommended to upgrade to version 35.0.0, which fixes the issue making it mandatory to set `druid.auth.authenticator.kerberos.cookieSignatureSecret` when using the Kerberos authenticator. Services will fail to come up if the secret is not set.
Gdy administrator nie ustawi jawnie wartości `druid.auth.authenticator.kerberos.cookieSignatureSecret`, Apache Druid generuje sekret zastępczy przy użyciu klasy `ThreadLocalRandom`, która nie jest kryptograficznie bezpiecznym generatorem liczb pseudolosowych (brak CWE-338-bezpiecznej entropii). Atakujący może przewidzieć lub metodą brute force odtworzyć ten sekret, a następnie sfałszować podpisane ciasteczka uwierzytelniające. Dodatkowo każdy węzeł klastra generuje własny unikalny sekret zastępczy, co powoduje niespójność między węzłami, skutkując błędami uwierzytelniania w środowiskach rozproszonych i wielobrokerkowych.
Atakujący zdalny, nieuwierzytelniony może sfałszować ciasteczka sesji i ominąć mechanizm uwierzytelniania Kerberos, uzyskując nieautoryzowany dostęp do klastra Apache Druid z pełnymi uprawnieniami. W środowiskach rozproszonych wadliwa konfiguracja może również powodować całkowitą niedostępność usługi.
Należy zaktualizować Apache Druid do wersji 35.0.0, która wymusza obowiązkowe ustawienie parametru `druid.auth.authenticator.kerberos.cookieSignatureSecret` — usługi nie uruchomią się bez jego jawnej konfiguracji. Do czasu aktualizacji należy natychmiast ustawić silny, kryptograficznie losowy sekret jako wartość `druid.auth.authenticator.kerberos.cookieSignatureSecret` we wszystkich węzłach klastra.
Apache Druid we wszystkich wersjach do 34.0.0 włącznie, gdy używany jest authenticator Kerberos bez jawnie skonfigurowanego parametru `druid.auth.authenticator.kerberos.cookieSignatureSecret`
Podatność zgłoszona i opublikowana przez Apache Software Foundation w dniu 2025-11-26 za pośrednictwem listy dyskusyjnej Apache oraz listy oss-security.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Druid
APPApache< 35.0.0
Powiązane podatności
Apache Druid – pominięcie uwierzytelnienia LDAP przez anonimowy bind
Apache Druid allows users to read data from other database systems using JDBC. This functionality is to allow ...
Apache Druid includes the ability to execute user-provided JavaScript code embedded in various types of reques...
Severity: medium (5.8) / important Server-Side Request Forgery (SSRF), Improper Neutralization of Input Durin...
Padding Oracle vulnerability in Apache Druid extension, druid-pac4j. This could allow an attacker to manipulat...