Fedora 25 : 1:wpa_supplicant (2017-12e76e8364) (KRACK)

2017-10-18T00:00:00
ID FEDORA_2017-12E76E8364.NASL
Type nessus
Reporter This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2020-05-02T00:00:00

Description

Fix the for the Key Reinstallation Attacks

  • hostapd: Avoid key reinstallation in FT handshake (CVE-2017-13082)

  • Fix PTK rekeying to generate a new ANonce

  • Prevent reinstallation of an already in-use group key and extend protection of GTK/IGTK reinstallation of WNM-Sleep Mode cases (CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13087, CVE-2017-13088)

  • Prevent installation of an all-zero TK

  • TDLS: Reject TPK-TK reconfiguration

  • WNM: Ignore WNM-Sleep Mode Response without pending request

  • FT: Do not allow multiple Reassociation Response frames

Upstream advisory: https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-me ssages.txt

Details and the paper: https://www.krackattacks.com/

Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Fedora Security Advisory FEDORA-2017-12e76e8364.
#

include("compat.inc");

if (description)
{
  script_id(103884);
  script_version("3.10");
  script_cvs_date("Date: 2019/09/24 14:09:05");

  script_cve_id("CVE-2017-13077", "CVE-2017-13078", "CVE-2017-13079", "CVE-2017-13080", "CVE-2017-13081", "CVE-2017-13082", "CVE-2017-13087", "CVE-2017-13088");
  script_xref(name:"FEDORA", value:"2017-12e76e8364");
  script_xref(name:"IAVA", value:"2017-A-0310");

  script_name(english:"Fedora 25 : 1:wpa_supplicant (2017-12e76e8364) (KRACK)");
  script_summary(english:"Checks rpm output for the updated package.");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Fedora host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Fix the for the Key Reinstallation Attacks
==========================================

  - hostapd: Avoid key reinstallation in FT handshake
    (CVE-2017-13082)

  - Fix PTK rekeying to generate a new ANonce

  - Prevent reinstallation of an already in-use group key
    and extend protection of GTK/IGTK reinstallation of
    WNM-Sleep Mode cases (CVE-2017-13078, CVE-2017-13079,
    CVE-2017-13080, CVE-2017-13081, CVE-2017-13087,
    CVE-2017-13088)

  - Prevent installation of an all-zero TK

  - TDLS: Reject TPK-TK reconfiguration

  - WNM: Ignore WNM-Sleep Mode Response without pending
    request

  - FT: Do not allow multiple Reassociation Response frames

Upstream advisory:
https://w1.fi/security/2017-1/wpa-packet-number-reuse-with-replayed-me
ssages.txt

Details and the paper: https://www.krackattacks.com/

Note that Tenable Network Security has extracted the preceding
description block directly from the Fedora update system website.
Tenable has attempted to automatically clean and format it as much as
possible without introducing additional issues."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bodhi.fedoraproject.org/updates/FEDORA-2017-12e76e8364"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.krackattacks.com/"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected 1:wpa_supplicant package."
  );
  script_set_cvss_base_vector("CVSS2#AV:A/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss3_base_vector("CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:1:wpa_supplicant");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:25");

  script_set_attribute(attribute:"vuln_publication_date", value:"2017/10/17");
  script_set_attribute(attribute:"patch_publication_date", value:"2017/10/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/10/18");
  script_set_attribute(attribute:"in_the_news", value:"true");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Fedora Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("rpm.inc");


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora");
os_ver = pregmatch(pattern: "Fedora.*release ([0-9]+)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora");
os_ver = os_ver[1];
if (! preg(pattern:"^25([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 25", "Fedora " + os_ver);

if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);


cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu);


flag = 0;
if (rpm_check(release:"FC25", reference:"wpa_supplicant-2.6-3.fc25.1", epoch:"1")) flag++;


if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "1:wpa_supplicant");
}