CVE-2026-49249
Təsvir
Boruta, mərkəzləşdirilməmiş şəxsiyyət spesifikasiyalarına qədər OAuth 2.0 və Openid Connect-i tətbiq etməyi hədəfləyən müstəqil avtorizasiya serveridir. Versiya 0.10.0-dan əvvəl, BorutaIdentityWeb.UserSettingsController.update/2 istifadəçi tərəfindən təqdim edilən sorğu gövdəsinin hər bir açarını hər hansı yoxlama aparılmadan əvvəl String.to_atom/1 vasitəsilə atomlaşdırır. String.to_atom funksiyası atomları BEAM atom cədvəlində (defolt limit 1,048,576 atom; ERL_MAX_ATOMS) daimi olaraq saxladığı üçün, autentifikasiya olunmuş hər hansı son istifadəçi hər sorğuda yeni açarlar ehtiva edən user[<fresh-key>]=... gövdəsi ilə PUT /users/settings sorğusu göndərərək qlobal VM atom cədvəlini doldura bilər. Cədvəl dolduqda, BEAM "no more index entries in atom_tab" xətası ilə işini dayandırır və bütün OIDC serveri (çətir strukturundakı auth, admin, gateway tətbiqləri) sıradan çıxır. Marşrut yalnız require_authenticated_user və IP başına saniyədə 10 sorğu limiti ilə qorunur; daxil olmuş son istifadəçi bura müraciət edə bilər. Açarlar aşağıdakı Accounts.update_user/6 çağırışından əvvəl şərtsiz olaraq atomlaşdırılır, buna görə də uğursuz yeniləmələr belə resursların tükənməsinə səbəb olur. Bu problem versiya 0.10.0-da aradan qaldırılmışdır.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| malach-it boruta-server | < 0.10.0 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.