Π ΠΌΠΎΠ΄ΡΠ»Π΅ ksmbd, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΡΠ΄ΡΠΎ Linux ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMB, Π²ΡΡΠ²Π»Π΅Π½Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΠ΄ΡΠ°. ΠΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΎΠ±Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ» Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡΠ»Ρ ksmbd. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΄ΡΠ° 5.15, Π²ΡΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π½ΠΎΡΠ±ΡΠ΅ 2021 Π³ΠΎΠ΄Π°, ΠΈ Π±Π΅Π· Π»ΠΈΡΠ½Π΅ΠΉ ΠΎΠ³Π»Π°ΡΠΊΠΈ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ 5.15.61, 5.18.18 ΠΈ 5.19.2, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π°Π²Π³ΡΡΡΠ΅ 2022 Π³ΠΎΠ΄Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ CVE-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π΅ΡΡ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½, ΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π΅ΡΡ Π½Π΅Ρ.
ΠΠ΅ΡΠ°Π»ΠΈ ΠΎΠ± ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΡΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ (Use-After-Free) ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΈ smb2_tree_disconnect() ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π»Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΡ ksmbd_tree_connect, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΅ΡΡ ΠΎΡΡΠ°Π²Π°Π»ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SMB2_TREE_DISCONNECT.
ΠΡΠΎΠΌΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ksmbd ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ 4 ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- ZDI-22-1688 — ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΠ΄ΡΠ° ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²Π½Π΅ΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ. ΠΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎ, ΡΡΠΎ Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
- ZDI-22-1691 — ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΡΠ΅ΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΄ΡΠ° ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SMB2_WRITE (Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ).
- ZDI-22-1687 — ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΎΡΠΊΠ°Π·Π° Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SMB2_NEGOTIATE (Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ).
- ZDI-22-1689 — ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΊΡΠ°Ρ Π° ΡΠ΄ΡΠ° ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ SMB2_TREE_CONNECT, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ΅ΠΉ ΠΊ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²Π½Π΅ Π±ΡΡΠ΅ΡΠ° (Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ SMB-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ksmbd ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Samba, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 4.16.0. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ SMB-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ksmbd Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ΄ΡΠ°. Ksmbd ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊ Samba, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Samba. ΠΠ²ΡΠΎΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° ksmbd ΡΠ²Π»ΡΡΡΡΡ Namjae Jeon ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Samsung ΠΈ Hyunchul Lee ΠΈΠ· LG, Π° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ΄ΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π‘ΡΠΈΠ² Π€ΡΠ΅Π½Ρ (Steve French) ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ CIFS/SMB2/SMB3 Π² ΡΠ΄ΡΠ΅ Linux ΠΈ Π΄Π°Π²Π½ΠΈΠΉ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Samba, Π²Π½ΡΡΡΠΈΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² SMB/CIFS Π² Samba ΠΈ Linux.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru