CVE-2026-28405
WysokieStreszczenie
MarkUs to aplikacja webowa do składania i oceniania prac studentów. W wersjach przed 2.9.1, trasa courses/<:course_id>/assignments/<:assignment_id>/submissions/html_content odczytuje zawartość pliku przesłanego przez studenta i renderuje ją bez sanitizacji.
Ocena ryzyka
Brak sanitizacji może prowadzić do ataków XSS, co naraża użytkowników na niebezpieczeństwo i może skutkować kradzieżą danych lub przejęciem sesji.
Rekomendacja
Zaleca się aktualizację do wersji 2.9.1 lub nowszej, aby usunąć tę podatność i zapewnić bezpieczeństwo aplikacji.
Powiązane podatności
- CVE-2026-90049Krytyczne
W jądrze Linux naprawiono podatność w funkcji skb_zerocopy(), która nieprawidłowo wywoływała skb_tx_error() na źródłowym skb podczas kopiowania fragów. To powodowało zakończenie uarg zerocopy i wyczyszczenie flagi SKBFL_SHARED_FRAG na skb, który nadal był używany przez stos sieciowy. W szczególności na ścieżce OVS_ACTION_ATTR_USERSPACE skb nie był zwalniany po błędzie, co mogło prowadzić do dekryptowania danych ESP w miejscu, gdzie skb nie posiadał prywatnie fragów, co mogło powodować uszkodzenie danych lub inne problemy.
- CVE-2026-90042Krytyczne
W jądrze Linux wykryto podatność w systemie plików Ceph, gdzie funkcja ceph_fname_to_usr() przekazywała bufory z regionu vmalloc() do API kryptograficznego fscrypt, które wymaga buforów w liniowym obszarze pamięci. Może to powodować błędy (oops) systemu, szczególnie na platformach innych niż x86. Poprawka dodaje obsługę buforów vmalloc() poprzez użycie tymczasowego bufora pośredniego.
- CVE-2026-90038Krytyczne
W jądrze Linux funkcja nfsd4_revoke_export_states() zwalnia blokadę nn->client_lock, ale trzymany referencja stateid nie utrzymuje przy życiu klienta. Równoległe zakończenie klienta może zwolnić go, podczas gdy revoke_one_stid() nadal go używa, powodując use-after-free.
- CVE-2026-90037Krytyczne
W jądrze Linux wpis nfs4_openowner pozostawiony na nn->close_lru trzyma tylko surowy wskaźnik do nfs4_client. Gdy laundromat zwalnia wpisy, zwalnia blokadę client_lock i wywołuje nfs4_put_stid(), równoległe force_expire_client() może zwolnić klienta, powodując użycie zwolnionej pamięci.
- CVE-2026-90036Krytyczne
W jądrze Linux właściciel blokady pozostawiony na nn->blocked_locks_lru trzyma tylko surowy wskaźnik do nfs4_client. Gdy laundromat zwalnia taką blokadę, końcowe nfs4_put_stateowner() sięga po cl_lock klienta, którego równoległe force_expire_client() mogło już zwolnić, powodując use-after-free.
- CVE-2026-90012Krytyczne
W jądrze Linux w funkcji __spi_map_msg() występuje błąd w zarządzaniu własnością mapowań DMA przy częściowym niepowodzeniu mapowania. Gdy mapowanie RX lub TX się nie powiedzie, flagi i wskaźniki urządzeń nie są prawidłowo czyszczone, co może prowadzić do ponownego odmapowania lub użycia NULL/starego wskaźnika urządzenia. Może to wywołać oops jądra.
- CVE-2026-90011Krytyczne
W jądrze Linux w podsystemie scsi target iscsi funkcja iscsi_target_check_login_request() nie rezerwuje bajtu terminatora NUL dla bufora logowania. Przy payload_length od 8189 do 8192 cały bufor 8192 bajtów jest wypełniany, a następnie przetwarzany jako string C, co prowadzi do odczytu poza buforem. Podatność jest osiągalna przez nieuwierzytelnionego inicjatora przy konfiguracji CHAP.
- CVE-2026-89990Krytyczne
W jądrze Linux funkcja ceph_mds_check_access() przegląda tablicę s_cap_auths bez trzymania mutexa. Równoczesne ponowne otwarcie sesji MDS może zwolnić tę tablicę w trakcie jej przeglądania, prowadząc do użycia po zwolnieniu (use-after-free).
- CVE-2026-89972Krytyczne
W jądrze Linux w funkcji nvme_alloc_ns() ścieżka błędu usuwa namespace z listy rodzeństwa za pomocą list_del_rcu(), ale nie czeka na zakończenie czytelników SRCU przed zwolnieniem struktury namespace. Współbieżny czytelnik w kodzie multipath może wciąż trzymać referencję do ns w momencie wywołania kfree(ns), co prowadzi do use-after-free.
- CVE-2026-89970Krytyczne
W jądrze Linux funkcja nvmet_auth_sq_free() anuluje zadanie auth_expired_work za pomocą cancel_delayed_work(), które nie czeka na zakończenie już uruchomionego callbacku. W wyniku tego podczas demontażu transportu kolejka zawierająca struct nvmet_sq może zostać zwolniona lub ponownie użyta, gdy nvmet_auth_expired_work() wciąż uzyskuje do niej dostęp.
Oryginalny opis (angielski, źródło NVD)
MarkUs is a web application for the submission and grading of student assignments. Prior to version 2.9.1, the courses/<:course_id>/assignments/<:assignment_id>/submissions/html_content route reads the contents of a student-submitted file and renders them without sanitization. This issue has been patched in version 2.9.1.

