Π Linux-ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ nvmet-tcp (NVMe-oF/TCP), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ NVMe-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌ ΠΏΠΎ ΡΠ΅ΡΠΈ (NVM Express over Fabrics), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP, Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2023-5178), ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΈΠ»ΠΈ, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° NVMe-oF/TCP (Π² ΠΎΡΡΡΡΠ΅ ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΡΠ΄ΡΠΎ Linux 5.15, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° NVMe-oF/TCP Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΡΠ΄ΡΠΎ 5.0). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π²ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ NVMe-oF/TCP (NVME_TARGET_TCP), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΏΠΎΡΡΡ 4420.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ nvmet_tcp_free_crypto Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ Π΄Π²Π° ΡΠ°Π·Π° ΠΈ Π΄Π²Π° ΡΠ°Π·Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π»Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π»Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ (use-after-free) ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (double-free) ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ NVMe-oF/TCP ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
