Vulnerabilities > CVE-2019-0066 - Unspecified vulnerability in Juniper Junos

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
juniper
nessus

Summary

An unexpected status return value weakness in the Next-Generation Multicast VPN (NG-mVPN) service of Juniper Networks Junos OS allows attacker to cause a Denial of Service (DoS) condition and core the routing protocol daemon (rpd) process when a specific malformed IPv4 packet is received by the device running BGP. This malformed packet can be crafted and sent to a victim device including when forwarded directly through a device receiving such a malformed packet, but not if the malformed packet is first de-encapsulated from an encapsulated format by a receiving device. Continued receipt of the malformed packet will result in a sustained Denial of Service condition. This issue affects: Juniper Networks Junos OS 15.1 versions prior to 15.1F6-S12, 15.1R7-S2; 15.1X49 versions prior to 15.1X49-D150 on SRX Series; 15.1X53 versions prior to 15.1X53-D68, 15.1X53-D235, 15.1X53-D495, 15.1X53-D590; 16.1 versions prior to 16.1R3-S10, 16.1R4-S12, 16.1R6-S6, 16.1R7-S2; 16.2 versions prior to 16.2R2-S7; 17.1 versions prior to 17.1R2-S9, 17.1R3; 17.2 versions prior to 17.2R1-S7, 17.2R2-S6, 17.2R3; 17.3 versions prior to 17.3R2-S4, 17.3R3.

Nessus

  • NASL familyJunos Local Security Checks
    NASL idJUNIPER_JSA10970.NASL
    descriptionThe version of tested product installed on the remote host is prior to tested version. It is, therefore, affected by a vulnerability as referenced in the JSA10970 advisory. Note that Nessus has not tested for this issue but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id133303
    published2020-01-29
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/133303
    titleJuniper JSA10970
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include('compat.inc');
    
    if (description)
    {
      script_id(133303);
      script_version("1.1");
      script_cvs_date("Date: 2020/01/29");
    
      script_cve_id(
        "CVE-2019-0047",
        "CVE-2019-0050",
        "CVE-2019-0054",
        "CVE-2019-0055",
        "CVE-2019-0057",
        "CVE-2019-0058",
        "CVE-2019-0059",
        "CVE-2019-0060",
        "CVE-2019-0062",
        "CVE-2019-0063",
        "CVE-2019-0064",
        "CVE-2019-0066",
        "CVE-2019-0067",
        "CVE-2019-0068",
        "CVE-2019-0073",
        "CVE-2019-0075"
      );
      script_xref(name:"IAVA", value:"2019-A-0388");
    
      script_name(english:"Juniper JSA10970");
      script_summary(english:"Checks the Junos version and build date.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote device is missing a vendor-supplied security patch.");
      script_set_attribute(attribute:"description", value:
    "The version of tested product installed on the remote host is prior to
    tested version. It is, therefore, affected by a vulnerability as
    referenced in the JSA10970 advisory. Note that Nessus has not tested
    for this issue but has instead relied only on the application's self-
    reported version number.");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/KB16613");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/KB16765");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/KB16446");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/JSA10970");
      script_set_attribute(attribute:"solution", value:
    "Apply the relevant Junos software release referenced in Juniper
    advisory JSA10970");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:N/I:N/A:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-0047");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2020/01/28");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/01/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/01/29");
    
      script_set_attribute(attribute:"plugin_type", value:"combined");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:juniper:junos");
      script_set_attribute(attribute:"stig_severity", value:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Junos Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("junos_version.nasl");
      script_require_keys("Host/Juniper/JUNOS/Version", "Host/Juniper/model");
    
      exit(0);
    }
    
    include('audit.inc');
    include('junos.inc');
    include('misc_func.inc');
    
    ver = get_kb_item_or_exit('Host/Juniper/JUNOS/Version');
    model = get_kb_item_or_exit('Host/Juniper/model');
    fixes = make_array();
    
    fixes['12.1X46'] = '12.1X46-D86';
    fixes['12.3'] = '12.3R12-S13';
    fixes['12.3X48'] = '12.3X48-D80';
    fixes['14.1X53'] = '14.1X53-D51';
    
    if (ver =~ "^15\.1F")
    fixes['15.1F'] = '15.1F6-S13';
    else
      fixes['15.1'] = '15.1R7-S4';
    
    fixes['15.1X49'] = '15.1X49-D171';
    fixes['15.1X53'] = '15.1X53-D69';
    fixes['16.1'] = '16.1R7-S5';
    fixes['16.2'] = '16.2R2-S9';
    fixes['17.1'] = '17.1R3';
    
    if (ver =~ "^17\.2R1")
      fixes['17.2'] = '17.2R1-S8';
    else if (ver =~ "^17\.2R2")
      fixes['17.2'] = '17.2R2-S7';
    else if (ver =~ "^17\.2R3")
      fixes['17.2'] = '17.2R3-S1';
    
    fixes['17.3'] = '17.3R3-S6';
    
    if (ver =~ "^17\.4R1")
      fixes['17.4'] = '17.4R1-S7';
    else if (ver =~ "^17\.4R2")
      fixes['17.4'] = '17.4R2-S4';
    else
      fixes['17.4'] = '17.4R3';
    
    fixes['18.1'] = '18.1R3-S5';
    
    if (ver =~ "^18\.2R1")
      fixes['18.2'] = '18.2R1-S5';
    else if (ver =~ "^18\.2R2")
      fixes['18.2'] = '18.2R2-S3';
    else
      fixes['18.2'] = '18.2R3';
    
    if (ver =~ "^18\.3R1")
      fixes['18.3'] = '18.3R1-S3';
    else if (ver =~ "^18\.3R2")
      fixes['18.3'] = '18.3R2';
    else if (ver =~ "^18\.3R3")
      fixes['18.3'] = '18.3R3';
    
    if (ver =~ "^18\.4R1")
      fixes['18.4'] = '18.4R1-S2';
    else
      fixes['18.4'] = '18.4R2';
    
    fix = check_junos(ver:ver, fixes:fixes, exit_on_fail:TRUE);
    report = get_report(ver:ver, fix:fix);
    security_report_v4(severity:SECURITY_WARNING, port:0, extra:report);
    
  • NASL familyJunos Local Security Checks
    NASL idJUNIPER_JSA10965.NASL
    descriptionAccording to its self-reported version number, the remote Juniper Junos device is affected by an unexpected status return value weakness in the Next-Generation Multicast VPN (NG-mVPN) which can result in a denial of service (DoS) condition. An unauthenticated, remote attacker can exploit this issue, by repeatedly sending crafted, malformed IPv4 packets to a victim device, including when these packets are forwarded directly through a device, provided that the malformed packet is not first de-encapsulated from an encapsulated format by a receiving device. This allows an attacker to cause the system to stop responding. Note that Nessus has not tested for this issue but has instead relied only on the application
    last seen2020-03-18
    modified2019-11-05
    plugin id130504
    published2019-11-05
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130504
    titleJunos OS: NG-mVPN rpd DoS (JSA10965)
    code
    #TRUSTED 3442edfee86b9b35c850093d005a4bb275200d39dfaf4270e1adb2864eaf2bdfdbfef2016b0308ff2deb0dbfe9f8e14f1aedab10b0d38e1988a4c9e724e372aad75e56436e0dcc39d557e477a35519e96d028a46d4cfc58d2c907e2b7e407e5c516146510e7cd6b311bb32399de1874cdc1d34182681da5fc8391500e5bd103ed0308b5f6bba7ef7327a47b71a1d1217e07ab4cdd90c7c5f692d17c7b6cd2bee4278e4e72dfb9942d37fa3d5396f5c74ce230136ed0588bd33933c6dc14c94b72ff7632517e426af44fac0d104dede086d794b7deefe97182ea2f84785ef6113fd44d4ae3300912bd0f836200f8ec503dd7df95525bbd294e189b351b3f7135fb711186fcf74c4a6a77e66599f3296c59e61edeee60404f8119071eb55b814f2c67f83894ffdb7c533fbe065521e084f27e5f035aabeb2e9f17d4a6febfde7670de237492f4504fc36248dfdec6d9f260ffba5d518d0502478a2884113253f946ab717eaf79d574c0f9ab6b83d70da5cee02c7f099a5ca87b50e6a200577fde70ab07b5ca292f434c4420f62a4a3ba94be4fe9454172baa1bbefdb647c4a1d0beed797ce8f53813e4559d361f7186c842c22bffc69d07d92f606f08637ca73a66a28220fa4fe388dcfd366278e208c68427f75d23c39d2d82459d18615dbc87e1302804430ffbcb08535eca9804b1b33d366ad4c26d5f484445f939c18cd4588
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include('compat.inc');
    
    if (description)
    {
      script_id(130504);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2019/11/05");
    
      script_cve_id("CVE-2019-0066");
      script_xref(name:"JSA", value:"JSA10965");
      script_xref(name:"IAVA", value:"2019-A-0388");
    
      script_name(english:"Junos OS: NG-mVPN rpd DoS (JSA10965)");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote device is missing a vendor-supplied security patch.");
      script_set_attribute(attribute:"description", value:
    "According to its self-reported version number, the remote Juniper Junos device is affected by an unexpected status
    return value weakness in the Next-Generation Multicast VPN (NG-mVPN) which can result in a denial of service (DoS)
    condition. An unauthenticated, remote attacker can exploit this issue, by repeatedly sending crafted, malformed IPv4
    packets to a victim device, including when these packets are forwarded directly through a device, provided that the
    malformed packet is not first de-encapsulated from an encapsulated format by a receiving device. This allows an
    attacker to cause the system to stop responding.
    
    Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
    number.");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/InfoCenter/index?page=content&id=JSA10965");
      script_set_attribute(attribute:"solution", value:
    "Apply the relevant Junos software release referenced in Juniper advisory JSA10965.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-0066");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/09");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/10/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/05");
    
      script_set_attribute(attribute:"plugin_type", value:"combined");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:juniper:junos");
      script_set_attribute(attribute:"stig_severity", value:"I");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Junos Local Security Checks");
    
      script_dependencies("junos_version.nasl");
      script_require_keys("Host/Juniper/JUNOS/Version", "Host/Juniper/model");
      exit(0);
    }
    
    include('audit.inc');
    include('junos.inc');
    include('junos_kb_cmd_func.inc');
    include('misc_func.inc');
    
    ver = get_kb_item_or_exit('Host/Juniper/JUNOS/Version');
    model = get_kb_item_or_exit('Host/Juniper/model');
    
    fixes = make_array();
    
    fixes['15.1R'] = '15.1R7-S2';
    fixes['15.1F'] = '15.1F6-S12';
    fixes['16.2'] = '16.2R2-S7';
    fixes['17.1'] = '17.1R2-S9';
    fixes['17.3'] = '17.3R2-S4';
    
    # 15.1X49 versions prior to 15.1X49-D150 on SRX Series;
    if ('SRX' >< model)
      fixes['15.1X49'] = '15.1X49-D150';
    
    # Advisory says: 15.1X53 versions prior to 15.1X53-D68, 15.1X53-D235, 15.1X53-D495, 15.1X53-D590;
    # Making this check paranoid ?
    if (report_paranoia >= 2)
      fixes['15.1X53'] = '15.1X53-D68';
    
    # 16.1 versions prior to 16.1R3-S10, 16.1R4-S12, 16.1R6-S6, 16.1R7-S2;
    if (ver =~ "^16\.1R4($|[^0-9])") fixes['16.1R'] = '16.1R4-S12';
    else if (ver =~ "^16\.1R6($|[^0-9])") fixes['16.1R'] = '16.1R6-S6';
    else if (ver =~ "^16\.1R7($|[^0-9])") fixes['16.1R'] = '16.1R7-S2';
    else fixes['16.1R'] = '16.1R3-S10';
    
    # 17.2 versions prior to 17.2R1-S7, 17.2R2-S6, 17.2R3;
    if (ver =~ "^17\.2R1($|[^0-9])")        fixes['17.2R'] = '17.2R1-S7';
    else fixes['17.2R'] = '17.2R2-S6';
    
    fix = check_junos(ver:ver, fixes:fixes, exit_on_fail:TRUE);
    
    # If BGP is not enabled, audit out.
    # Same as juniper_jsa10799.nasl
    override = TRUE;
    buf = junos_command_kb_item(cmd:'show bgp neighbor');
    if (buf)
    {
      override = FALSE;
      if (preg(string:buf, pattern:"BGP.* instance is not running", icase:TRUE, multiline:TRUE))
        audit(AUDIT_HOST_NOT, "affected because BGP is not enabled");
    }
    
    junos_report(ver:ver, fix:fix, override:override, severity:SECURITY_WARNING);