<?xml version="1.0" encoding="UTF-8"?>
<cvrf:cvrfdoc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cvrf-common="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/common" xmlns:cvrf="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/cvrf">
    <cvrf:DocumentTitle>New WiFi hack against WPA/WPA2 when PMKID based roaming enabled</cvrf:DocumentTitle>
    <cvrf:DocumentType>Fortinet PSIRT Advisories</cvrf:DocumentType>
    <cvrf:DocumentPublisher Type="Vendor">
        <cvrf:ContactDetails>
            Fortinet PSIRT Contact:
            Website: https://fortiguard.fortinet.com/faq/psirt-contact
        </cvrf:ContactDetails>
     </cvrf:DocumentPublisher>
    <cvrf:DocumentTracking>
        <cvrf:Identification>
            <cvrf:ID>FG-IR-18-199</cvrf:ID>
        </cvrf:Identification>
        <cvrf:Status>Final</cvrf:Status>
        <cvrf:Version>1</cvrf:Version>
        <cvrf:RevisionHistory>
            <cvrf:Revision>
                <cvrf:Number>1</cvrf:Number>
                <cvrf:Date>2020-01-27T00:00:00</cvrf:Date>
                <cvrf:Description>Current version</cvrf:Description>
        </cvrf:Revision>
       </cvrf:RevisionHistory>
        <cvrf:InitialReleaseDate>2020-01-27T00:00:00</cvrf:InitialReleaseDate>
        <cvrf:CurrentReleaseDate>2020-01-27T00:00:00</cvrf:CurrentReleaseDate>
    </cvrf:DocumentTracking>
    <cvrf:DocumentNotes>
        <cvrf:Note Title="Summary" Type="Summary" Ordinal="1">
            Makers of popular WiFi hacking tool hashcat have discovered a way to improve password brute-forcing of the WPA/WPA2 wifi network security standards. By leveraging the PMKID served by access points in WPA/WPA2 enabled WiFi networks, attackers gain knowledge of a pre-shared key hash, which can be used to brute-force the WPA/WPA2 password.This, however, requires a set of conditions to work:o WPA/WPA2 must be &#34;Personal security (Pre-shared Key)&#34;. Other types (eg: Enterprise) are not vulnerableo The PMKID must be included in the first EAPOL message of the 4 way handshakeo 802.11r and PMKID caching must be enabled
        </cvrf:Note>
        <cvrf:Note Title="Impact" Type="General" Ordinal="2">
            Information disclosure
        </cvrf:Note>
        <cvrf:Note Title="Affected Products" Type="General" Ordinal="3">
            FortiOS supports WPA/WPA2 WiFi and is only affected under special configurations [1]FortiAP supports WPA/WPA2 WiFi and is only affected under special configurations [1][1] When 802.11r/fast-bss-transition is enabled and security is set to wpa2-only-personal.
        </cvrf:Note>
        <cvrf:Note Title="Solutions" Type="General" Ordinal="4">
            Since this is a protocol level attack facilitating brute-force cracking, there exists mitigation to disable it altogether, or drastically lower its practical feasibility:1. When enabling the 801.11r/fast-bss-transition feature on FortiOS/FortiAP, avoid using wpa2-only-personal security, and use wpa2-only-enterprise instead. This effectively prevents the attack completely.2. If the above is not acceptable given the environment, a minimum of 12 high-entropy random ASCII characters should be used as the password (with 20 characters being preferable). This renders the attack unpractical in the current state of computing power available for brute-force cracking.Starting with FortiOS 6.2.1, the following CLI commands (for pre-shared key for WPA/WPA2-Personal SSID) will ask to input at least 12 bytes in length when editing the [vap-name] if the existing passphrase is shorter than 12 bytes:config wireless-controller vapedit [vap-name]set passphrase [psk] / minimum 12 bytes psk when wfa-compatibility is disabled [1] /nextend[1] To compatible with WPA3™-SAE Test Plan Version 1.0, a new CLI were introduced at same time to allow minimum 8 bytes pre-shared key which the default value is disabled (enable is not suggested in production environment).config wireless-controller setting set wfa-compatibility enable / disable is the default value /endStarting from FortiOS 6.2.3, the minimum psk length reverted back to 8 bytes to restore the usability. The wfa-compatibility CLI command will no longer control that size.Revision History:09-10-2018 Initial version06-18-2019 pre-shared key length for WPA/WPA2 personal SSID by default needs at least 12 bytes01-27-2020 Minimum pre-shared key length reverted back to 8 bytes start from FortiOS 6.2.3
        </cvrf:Note>
    </cvrf:DocumentNotes>
    <cvrf:DocumentReferences>
        <cvrf:Reference>
            <cvrf:URL>https://fortiguard.fortinet.com/psirt/FG-IR-18-199</cvrf:URL>
            <cvrf:Description>New WiFi hack against WPA/WPA2 when PMKID based roaming enabled</cvrf:Description>
        </cvrf:Reference>
        <cvrf:Reference>
            <cvrf:URL>https://hashcat.net/forum/thread-7717.html</cvrf:URL>
            <cvrf:Description>https://hashcat.net/forum/thread-7717.html</cvrf:Description>
        </cvrf:Reference>
    </cvrf:DocumentReferences>
    <Vulnerability Ordinal="1">
        <Title>New WiFi hack against WPA/WPA2 when PMKID based roaming enabled</Title>
        <CVSSScoreSets>
            <ScoreSetV3>
                <BaseScoreV3>7.1</BaseScoreV3>
                <VectorV3>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:F/RL:X/RC:X</VectorV3>
            </ScoreSetV3>
        </CVSSScoreSets>
        <References Type="Self">
            <Reference>
                <URL>https://fortiguard.fortinet.com/psirt/FG-IR-18-199</URL>
                <Description>New WiFi hack against WPA/WPA2 when PMKID based roaming enabled</Description>
            </Reference>Reference>
            <Reference>
                <URL>https://hashcat.net/forum/thread-7717.html</URL>
                <Description>https://hashcat.net/forum/thread-7717.html</Description>
            </Reference>
        </References>
    </Vulnerability>
</cvrf:cvrfdoc>