VPN業者Mullvad經通報,發現在WSL2(Windows Subsystem for Linux 2)存在資料不受VPN保護,洩漏到網際網路上的漏洞。即便用戶配置所有網路流量皆需使用VPN服務,網路流量還是可能未經VPN通道,直接流進網際網路,Mullvad提到,他們目前還沒有找到解決方案,且在其他VPN客戶端軟體上也有相同的情況。

WSL是微軟在2016年推出的功能,是個可在Windows上執行Linux應用程式的環境,WSL提供Linux相容的核心介面,允許在其上執行GNU使用者空間,像是Ubuntu、openSUSE與Kali等Linux版本,在2019年的時候,微軟更新釋出WSL2新架構,在Windows中直接內建Linux核心,並且持續強化改進WSL2的功能,目前WSL2已經支援GPU與DirectX,開發者可以在WSL2上,使用GPU加速運算,而且WSL2還開始支援Linux GUI應用程式。

Mullvad收到回報,揭露在WSL2中會洩漏VPN流量的安全漏洞,Mullvad進一步查明,這個漏洞發生原因,是因為Linux訪客的流量,會繞過Windows主機防火牆WFP,直接進到網際網路中。由於來自Linux訪客的網路流量,都會經過主機預設的路由不受WFP的檢查,當VPN通道建立且運作,那Linux訪客流量就會透過VPN發送而不會洩漏,但是當應用程式錯誤或是斷線等,在沒有可用VPN通道的情況,WFP又無法攔截Linux訪客網路流量,即便用戶設定總是需要VPN選項,Linux訪客虛擬機器的流量,還是就會直接洩漏到網路上。

Mullvad解釋,問題發生在WSL2使用的Hyper-V虛擬網路,Hyper-V模擬乙太網路卡供流量傳入與傳出Linux訪客,因為流量不經過主機防火牆,因此防火牆也無法像檢查一般封包一樣,檢查Linux訪客的網路封包。轉發的封包都只會被視為乙太網路影格(Ethernet Frame)格式資料,因此Mullvad提到,只要是使用Hyper-V進行網路連接,任何在Windows Sandbox或Docker下執行的訪客,都可能發生類似的資料洩漏。

Mullvad也對其他VPN業者的客戶端進行測試,發現都會以同樣的方式洩漏資料,Mullvad提到,這並非只是Mullvad VPN的問題,VPN供應商都遇到相同的情況,因為微軟實作Linux訪客虛擬網路的方式,讓保護其網路流量變得困難。

早在4月的時候,就有人發現這個問題了,有一位GitHub ID為fibu79的開發者,在微軟WSL儲存庫中開了一個關於在WSL2使用VPN的問題,說明了WSL2的Linux訪客網路流量,可能不受VPN保護的狀況,不少開發者也附和遇到相同問題,但這個問題並沒有被官方明確處理,有一些人透過改變系統配置,解決流量洩漏的問題。Mullvad在8月曾接過一次回報,但因為當時沒有正確重現漏洞,所以不知道問題所在,等到9月再次收到同樣問題的回報,他們才成功重現這個問題,目前還在研究解決方案中。


Advertisement

更多 iThome相關內容