Podatność w sterowniku SCSI qla2xxx jądra Linux powoduje podwójne zwolnienie struktury fcport (double free), co może prowadzić do uszkodzenia pamięci. Błąd sklasyfikowany jest jako krytyczny z wynikiem CVSS 9.8, co wskazuje na możliwość zdalnego wykorzystania bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Completely fix fcport double free In qla24xx_els_dcmd_iocb() sp->free is set to qla2x00_els_dcmd_sp_free(). When an error happens, this function is called by qla2x00_sp_release(), when kref_put() releases the first and the last reference. qla2x00_els_dcmd_sp_free() frees fcport by calling qla2x00_free_fcport(). Doing it one more time after kref_put() is a bad idea.
W funkcji qla24xx_els_dcmd_iocb() wskaźnik sp->free jest ustawiany na qla2x00_els_dcmd_sp_free(). Gdy wystąpi błąd, funkcja ta jest wywoływana przez qla2x00_sp_release() w momencie, gdy kref_put() zwalnia ostatnie odwołanie do obiektu. Funkcja qla2x00_els_dcmd_sp_free() zwalnia strukturę fcport poprzez wywołanie qla2x00_free_fcport(). Problem polega na tym, że fcport jest zwalniane po raz drugi po powrocie z kref_put(), co prowadzi do stanu double free i uszkodzenia sterty (heap corruption).
Atakujący może doprowadzić do uszkodzenia pamięci jądra, co potencjalnie umożliwia wykonanie dowolnego kodu (RCE), eskalację uprawnień (privilege escalation) lub destabilizację systemu (odmowa usługi — crash jądra).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawki dostępne w repozytorium stable jądra Linux pod adresami wskazanymi w sekcji referencji (commit c0b7da13a04b oraz d48ea85463f5).
Wersje wskazane w referencjach producenta (jądro Linux ze sterownikiem SCSI qla2xxx)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux Kernel
OSLinux6.97.06.6.24 – 6.7 (bez)6.7.12 – 6.8 (bez)5.15.154 – 5.16 (bez)6.9.1 – 6.19.9 (bez)6.8.3 – 6.9 (bez)6.1.84 – 6.2 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager