CVE-2026-89767
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
W jądrze Linux w funkcji ovl_create_real() (system plików overlayfs) występuje podwójne wywołanie end_creating() na ścieżce błędu niezgodności casefold. Powoduje to dwukrotne zwolnienie blokady i_rwsem katalogu nadrzędnego oraz dwukrotne zwolnienie referencji dentry, co prowadzi do zakleszczenia kolejnych operacji tworzenia w tym katalogu. Podatność może być wywołana przez nieuprzywilejowanego użytkownika.
Ocena ryzyka
Nieuprawniony użytkownik lokalny może doprowadzić do zawieszenia (zakleszczenia) operacji tworzenia plików i katalogów w systemie plików overlayfs, powodując odmowę usługi (DoS). Problem dotyczy środowisk wykorzystujących overlayfs, w tym kontenerów i systemów z warstwowymi systemami plików.
Rekomendacja
Zaktualizować jądro Linux do wersji zawierającej poprawkę usuwającą nadmiarowe wywołanie end_creating() na ścieżce błędu. Do czasu wdrożenia aktualizacji ograniczyć możliwość montowania overlayfs przez nieuprzywilejowanych użytkowników.
Powiązane podatności
- CVE-2026-124060Krytyczne
W urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884 wykryto podatność w funkcji UploadCustomModule w pliku /cgi-bin/cstecgi.cgi. Manipulacja argumentem File prowadzi do przepełnienia bufora. Atak można przeprowadzić zdalnie, a exploit jest publicznie dostępny i może być wykorzystany.
- CVE-2026-124059Krytyczne
Wykryto podatność bezpieczeństwa w urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884. Podatna jest funkcja setWiFiWdsAddConfig w pliku /cgi-bin/cstecgi.cgi, gdzie manipulacja argumentem ApCliKeyStr prowadzi do przepełnienia bufora. Atak można zainicjować zdalnie, a exploit został publicznie ujawniony i może być wykorzystany.
- CVE-2026-124058Krytyczne
Zidentyfikowano słabość w urządzeniu TOTOLINK CA300-PoE w wersji 6.2c.884. Podatna jest funkcja setWiFiRepeaterConfig w pliku /cgi-bin/cstecgi.cgi, gdzie manipulacja argumentem ApCliKeyStr może prowadzić do przepełnienia bufora. Atak można przeprowadzić zdalnie, a exploit został udostępniony publicznie i może być wykorzystany w atakach.
- CVE-2026-124057Krytyczne
W TOTOLINK CA300-PoE 6.2c.884 odkryto lukę w zabezpieczeniach funkcji setWiFiMultipleConfig w pliku /cgi-bin/cstecgi.cgi. Manipulacja argumentem Key1Str1 prowadzi do przepełnienia bufora, a atak można zainicjować zdalnie. Exploit został publicznie udostępniony i może być wykorzystany.
- CVE-2026-123966Krytyczne
W urządzeniu Tenda AC19 w wersji 16.03.10.07 wykryto podatność w funkcji saveParentControlInfo w pliku /goform/saveParentControlInfo. Manipulacja argumentem deviceId powoduje przepełnienie bufora na stercie. Atak można przeprowadzić zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-120984Krytyczne
W komponencie zarządzania klientami serwera Keycloak wykryto błąd. Podczas tworzenia lub importu klienta z włączonymi usługami autoryzacji system nie czyści prawidłowo atrybutu sesji używanego podczas konfiguracji. Uwierzytelniony atakujący z uprawnieniami do zarządzania klientami może ominąć mechanizmy bezpieczeństwa i przesłać złośliwą politykę JavaScript, która jest wykonywana na serwerze.
- CVE-2026-122041Krytyczne
Wtyczka Checkout Field Editor for WooCommerce (Pro) dla WordPressa w wersjach do 3.8.0 włącznie jest podatna na nieautoryzowane usuwanie dowolnych załączników z powodu braku sprawdzenia uprawnień i własności w funkcji ajax_remove_uploaded(). Funkcja jest zarejestrowana dla wp_ajax i wp_ajax_nopriv i chroniona wyłącznie nonce 'file_handling_nonce', który jest ujawniany w publicznym kodzie strony checkoutu.
- CVE-2026-119075Krytyczne
Wtyczka Registration Form for WooCommerce dla WordPressa w wersjach do 1.1.4 włącznie jest podatna na eskalację uprawnień z powodu braku sprawdzenia listy dozwolonych ról w funkcji FormHandler::validate_checkout_fields(). Ścieżka rejestracji podczas checkoutu zapisuje surową wartość $_POST['user_roles'] bez walidacji, a add_user_data() wstrzykuje ją jako rolę nowego konta.
- CVE-2026-118066Krytyczne
Wtyczka LatePoint dla WordPressa w wersjach do 5.7.6 włącznie jest podatna na obejście uwierzytelniania i przejęcie konta. Funkcja OsModel::build_conditions_query() porównuje wartości klauzuli WHERE z literałami 'IS NULL' i 'IS NOT NULL' i konkatenuje dopasowanie bezpośrednio do SQL bez parametryzacji, co pozwala nieuwierzytelnionemu atakującemu wysłać params[password_reset_token]=IS NOT NULL do publicznej trasy AJAX customer_cabinet__change_password i zmienić hasło klienta o najniższym ID.
- CVE-2026-104014Krytyczne
Wtyczka Naimur Email OTP Verification for WooCommerce w wersjach do 2.1.0 włącznie jest podatna na obejście uwierzytelniania. Endpoint finalizacji resetu hasła autoryzuje reset wyłącznie na podstawie obecności wiersza w bazie oznaczającego e-mail jako 'VERIFIED', bez sprawdzania czasu, powiązania z sesją ani tokenu, a zaplanowane zadanie czyszczenia nie ma zarejestrowanego handlera, więc nigdy nie działa.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ovl: fix double end_creating() on the casefold-mismatch path ovl_create_real() releases the new dentry twice when the casefold consistency check fails. The S_IFDIR branch calls end_creating() and sets err, then falls through to the common out: label which calls end_creating() on the same dentry again: case S_IFDIR: newdentry = ovl_do_mkdir(ofs, dir, newdentry, attr->mode); err = PTR_ERR_OR_ZERO(newdentry); if (!err && ofs->casefold != ovl_dentry_casefolded(newdentry)) { pr_warn_ratelimited(...); end_creating(newdentry); /* first */ err = -EINVAL; } break; ... if (err) goto out; ... out: if (err) { end_creating(newdentry); /* second, same dentry */ return ERR_PTR(err); } end_creating() is end_dirop(), which does inode_unlock() on the parent and dput() on the dentry, so the parent directory's i_rwsem is unlocked twice and the dentry is put twice. The second unlock releases a lock that is not held, which is what wedges every later creation under that parent, and the second dput() drops a reference that was never taken. The branch was added by commit dfc7da402ccc ("ovl: Check for casefold consistency when creating new dentries") as a bare dput(), which already released the reference twice; commit fe497f0759e0 ("VFS: change vfs_mkdir() to unlock on failure.") converted both sites to end_creating(), adding the double unlock. This is reachable by an unprivileged user. The casefold consistency of the layers is validated at mount time in ovl_parse_layer(), and again on every lookup in ovl_lookup_single(), but ofs->workdir is the internal "work" subdirectory created inside the user-supplied workdir, and that subdirectory is not re-checked. Marking it casefolded after the mount therefore makes every ovl_create_temp() inherit the wrong state - and that path reaches ovl_create_real() through ovl_start_creating_temp(), which uses start_creating() with a generated name and so never runs the lookup-time check. unshare -Urm mount -t tmpfs -o casefold=utf8-12.1.0 tmpfs mnt mkdir -p mnt/lower/d mnt/upper mnt/work mnt/merged mount -t overlay ovl -o lowerdir=mnt/lower,\ upperdir=mnt/upper,workdir=mnt/work mnt/merged chattr +F mnt/work/work mkdir mnt/merged/d/sub # directory copy-up overlayfs: wrong inherited casefold (work/#5) and the next copy-up blocks forever on the parent's i_rwsem: mkdir D start_creating+0x65/0xb0 ovl_start_creating_temp+0xb0/0xe0 [overlay] ovl_create_temp+0xa3/0x1d0 [overlay] ovl_copy_up_one+0x1f1c/0x21c0 [overlay] ovl_copy_up_flags+0xf5/0x140 [overlay] ovl_create_object+0xb7/0x220 [overlay] ovl_mkdir+0x23/0x40 [overlay] Drop the end_creating() from the branch and let out: own the cleanup, which is what every other error path in this function already does.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

