Vulnerabilities > CVE-2019-0540 - Open Redirect vulnerability in Microsoft products

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
PARTIAL
Availability impact
NONE
network
microsoft
CWE-601
nessus

Summary

A security feature bypass vulnerability exists when Microsoft Office does not validate URLs.An attacker could send a victim a specially crafted file, which could trick the victim into entering credentials, aka 'Microsoft Office Security Feature Bypass Vulnerability'.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Fake the Source of Data
    An adversary provides data under a falsified identity. The purpose of using the falsified identity may be to prevent traceability of the provided data or it might be an attempt by the adversary to assume the rights granted to another identity. One of the simplest forms of this attack would be the creation of an email message with a modified "From" field in order to appear that the message was sent from someone other than the actual sender. Results of the attack vary depending on the details of the attack, but common results include privilege escalation, obfuscation of other attacks, and data corruption/manipulation.

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS19_FEB_OFFICE_VIEWERS.NASL
    descriptionThe Microsoft Office Viewers and Compatibility Products are missing security updates. It is, therefore, affected by multiple vulnerabilities : - A security feature bypass vulnerability exists when Microsoft Office does not validate URLs. An attacker could send a victim a specially crafted file, which could trick the victim into entering credentials. An attacker who successfully exploited this vulnerability could perform a phishing attack. The update addresses the vulnerability by ensuring Microsoft Office properly validates URLs. (CVE-2019-0540) - An information disclosure vulnerability exists when Microsoft Excel improperly discloses the contents of its memory. An attacker who exploited the vulnerability could use the information to compromise the users computer or data. (CVE-2019-0669)
    last seen2020-06-01
    modified2020-06-02
    plugin id122317
    published2019-02-19
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/122317
    titleSecurity Updates for Microsoft Office Viewers And Compatibility Products (February 2019)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    # The descriptive text and package checks in this plugin were  
    # extracted from the Microsoft Security Updates API. The text
    # itself is copyright (C) Microsoft Corporation.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(122317);
      script_version("1.2");
      script_cvs_date("Date: 2019/10/31 15:18:52");
    
      script_cve_id("CVE-2019-0540", "CVE-2019-0669");
      script_bugtraq_id(106863, 106897);
      script_xref(name:"MSKB", value:"4092465");
      script_xref(name:"MSKB", value:"4461607");
      script_xref(name:"MSKB", value:"4461608");
      script_xref(name:"MSKB", value:"4462154");
      script_xref(name:"MSFT", value:"MS19-4092465");
      script_xref(name:"MSFT", value:"MS19-4461607");
      script_xref(name:"MSFT", value:"MS19-4461608");
      script_xref(name:"MSFT", value:"MS19-4462154");
    
      script_name(english:"Security Updates for Microsoft Office Viewers And Compatibility Products (February 2019)");
      script_summary(english:"Checks for Microsoft security updates.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The Microsoft Office Viewers and Compatibility Products are affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The Microsoft Office Viewers and Compatibility Products are
    missing security updates. It is, therefore, affected by multiple
    vulnerabilities :
    
      - A security feature bypass vulnerability exists when
        Microsoft Office does not validate URLs. An attacker
        could send a victim a specially crafted file, which
        could trick the victim into entering credentials. An
        attacker who successfully exploited this vulnerability
        could perform a phishing attack. The update addresses
        the vulnerability by ensuring Microsoft Office properly
        validates URLs. (CVE-2019-0540)
    
      - An information disclosure vulnerability exists when
        Microsoft Excel improperly discloses the contents of its
        memory. An attacker who exploited the vulnerability
        could use the information to compromise the users
        computer or data. (CVE-2019-0669)");
      # https://support.microsoft.com/en-us/help/4461608/description-of-the-security-update-for-excel-viewer-2007-february-12
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4019ced8");
      # https://support.microsoft.com/en-us/help/4462154/description-of-the-security-update-for-word-viewer-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?094bfd39");
      # https://support.microsoft.com/en-us/help/4461607/description-of-the-security-update-for-microsoft-office-compatibility
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?0efdff5b");
      # https://support.microsoft.com/en-us/help/4092465/description-of-the-security-update-for-microsoft-office-viewers
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?525bd448");
      script_set_attribute(attribute:"solution", value:
    "Microsoft has released the following security updates to address this issue:  
      - KB4092465
      - KB4461607
      - KB4461608
      - KB4462154");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:N/A:N");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-0669");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/02/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/02/19");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:powerpoint_viewer");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:word_viewer");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:excel_viewer");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office_compatibility_pack");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("office_installed.nasl", "microsoft_office_compatibility_pack_installed.nbin", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_func.inc");
    include("smb_hotfixes.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_reg_query.inc");
    include("misc_func.inc");
    include("install_func.inc");
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS19-02";
    kbs = make_list(
      '4092465', # Excel Viewer and PowerPoint Viewer
      '4461607', # Office Compatability Viewer
      '4461608', # Excel Viewer
      '4462154'  # Office Word Viewer
    );
    
    if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_WARNING);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated", exit_code:1);
    
    vuln = FALSE;
    port = kb_smb_transport();
    
    ##
    # Excel Viewer
    #
    #
    ##
    function perform_excel_viewer_checks()
    {
      var prod, path, install, installs, common_path;
      prod = "Microsoft Excel Viewer";
      installs = get_kb_list("SMB/Office/ExcelViewer/*/ProductPath");
    
      foreach install (keys(installs))
      {
        common_path = installs[install];
        path = ereg_replace(pattern:"^([A-Za-z]:.*)\\Microsoft Office.*", replace:"\1\Microsoft Office\Office12", string:common_path);
    
        if (
            hotfix_check_fversion(
              file:"xlview.dll",
              version:"12.0.6807.5000",
              path:path, kb:"4461608",
              bulletin:bulletin,
              product:prod
            ) == HCF_OLDER
          ) vuln = TRUE;
        if (
            hotfix_check_fversion(
              file:"mso.dll",
              version:"12.0.6807.5000",
              path:path, kb:"4092465",
              bulletin:bulletin,
              product:prod  
            ) == HCF_OLDER
          ) vuln = TRUE;
      }
    }
    
    ##
    # Word Viewer
    #
    #
    ##
    function perform_word_viewer_checks()
    {
      var install, installs, path, prod;
      prod = "Microsoft Word Viewer";
    
      installs = get_kb_list("SMB/Office/WordViewer/*/ProductPath");
      foreach install (keys(installs))
      {
        path = installs[install];
        path = ereg_replace(pattern:"^([A-Za-z]:.*)\\[wW]ordview.exe", replace:"\1", string:path);
    
        if (
            hotfix_check_fversion(
              file:"wordview.exe",
              version:"11.0.8454.0",
              path:path, kb:"4462154",
              bulletin:bulletin,
              product:prod
            ) == HCF_OLDER
          ) vuln = TRUE;
      }
    }
    
    ##
    # Office Compatibility Pack
    #
    #
    ##
    function perform_compatibility_viewer_checks()
    {
      var install, installs, path, prod;
    
      installs = get_kb_list("SMB/Office/ExcelCnv/*/ProductPath");
      foreach install (keys(installs))
      {
        path = installs[install];
        path = ereg_replace(pattern:'^(.+)\\\\[^\\\\]+\\.exe$', replace:"\1\", string:path, icase:TRUE);
        if (
            hotfix_check_fversion(
              path:path, file:"excelcnv.exe",
              version:"12.0.6807.5000",
              kb:"4461607",
              bulletin:bulletin,
              min_version:"12.0.0.0",
              product:"Microsoft Office Compatibility Pack"
            ) == HCF_OLDER
          )
        {
          vuln = TRUE;
          break;
        }
      }
    }
    
    ######################################################################
    # MAIN
    ######################################################################
    perform_excel_viewer_checks();
    perform_word_viewer_checks();
    perform_compatibility_viewer_checks();
    
    if (vuln)
    {
      replace_kb_item(name:'SMB/Missing/'+bulletin, value:TRUE);
      hotfix_security_warning();
      hotfix_check_fversion_end();
      exit(0);
    }
    else
    {
      hotfix_check_fversion_end();
      audit(AUDIT_HOST_NOT, 'affected');
    }
    
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS19_FEB_OFFICE.NASL
    descriptionThe Microsoft Office Products are missing security updates. They are, therefore, affected by multiple vulnerabilities: - A remote code execution vulnerability exists when the Windows Jet Database Engine improperly handles objects in memory. An attacker who successfully exploited this vulnerability could execute arbitrary code on a victim system. An attacker could exploit this vulnerability by enticing a victim to open a specially crafted file. (CVE-2019-0538, CVE-2019-0582) - A security feature bypass vulnerability exists when Microsoft Office does not validate URLs. An attacker could send a victim a specially crafted file, which could trick the victim into entering credentials. An attacker who successfully exploited this vulnerability could perform a phishing attack. (CVE-2019-0540) - An information disclosure vulnerability exists when Microsoft Excel improperly discloses the contents of its memory. An attacker who exploited the vulnerability could use the information to compromise the user
    last seen2020-06-01
    modified2020-06-02
    plugin id122132
    published2019-02-12
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/122132
    titleSecurity Updates for Microsoft Office Products (February 2019)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the Microsoft Security Updates API. The text
    # itself is copyright (C) Microsoft Corporation.
    #
    include('compat.inc');
    
    if (description)
    {
      script_id(122132);
      script_version("1.10");
      script_cvs_date("Date: 2020/01/30");
    
      script_cve_id(
        "CVE-2019-0538",
        "CVE-2019-0540",
        "CVE-2019-0582",
        "CVE-2019-0669",
        "CVE-2019-0671",
        "CVE-2019-0672",
        "CVE-2019-0673",
        "CVE-2019-0674",
        "CVE-2019-0675"
      );
      script_bugtraq_id(106419, 106433);
      script_xref(name:"MSKB", value:"4018294");
      script_xref(name:"MSKB", value:"4018300");
      script_xref(name:"MSKB", value:"4018313");
      script_xref(name:"MSKB", value:"4462138");
      script_xref(name:"MSKB", value:"4462146");
      script_xref(name:"MSKB", value:"4462174");
      script_xref(name:"MSKB", value:"4462177");
      script_xref(name:"MSFT", value:"MS19-4018294");
      script_xref(name:"MSFT", value:"MS19-4018300");
      script_xref(name:"MSFT", value:"MS19-4018313");
      script_xref(name:"MSFT", value:"MS19-4462138");
      script_xref(name:"MSFT", value:"MS19-4462146");
      script_xref(name:"MSFT", value:"MS19-4462174");
      script_xref(name:"MSFT", value:"MS19-4462177");
    
      script_name(english:"Security Updates for Microsoft Office Products (February 2019)");
    
      script_set_attribute(attribute:"synopsis", value:
    "The Microsoft Office Products are affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The Microsoft Office Products are missing security updates. They
    are, therefore, affected by multiple vulnerabilities:
    
      - A remote code execution vulnerability exists when the Windows Jet
        Database Engine improperly handles objects in memory. An attacker
        who successfully exploited this vulnerability could execute
        arbitrary code on a victim system. An attacker could exploit this
        vulnerability by enticing a victim to open a specially crafted
        file. (CVE-2019-0538, CVE-2019-0582)
    
      - A security feature bypass vulnerability exists when Microsoft
        Office does not validate URLs. An attacker could send a victim a
        specially crafted file, which could trick the victim into
        entering credentials. An attacker who successfully exploited this
        vulnerability could perform a phishing attack. (CVE-2019-0540)
    
      - An information disclosure vulnerability exists when Microsoft
        Excel improperly discloses the contents of its memory. An
        attacker who exploited the vulnerability could use the
        information to compromise the user's computer or data. To exploit
        the vulnerability, an attacker could craft a special document
        file and then convince the user to open it. An attacker must know
        the memory address location where the object was created.
        (CVE-2019-0669)
    
      - A remote code execution vulnerability exists when the Microsoft
        Office Access Connectivity Engine improperly handles objects in
        memory. An attacker who successfully exploited this vulnerability
        could execute arbitrary code on a victim system. An attacker
        could exploit this vulnerability by enticing a victim to open a
        specially crafted file. (CVE-2019-0671,  CVE-2019-0672, 
        CVE-2019-0673,  CVE-2019-0674, CVE-2019-0675)");
      # https://support.microsoft.com/en-ca/help/4018313/description-of-the-security-update-for-office-2010-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?ad02bd63");
      # https://support.microsoft.com/en-ca/help/4462177/description-of-the-security-update-for-office-2010-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?45c067f4");
      # https://support.microsoft.com/en-ca/help/4462174/description-of-the-security-update-for-office-2010-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1adac12b");
      # https://support.microsoft.com/en-ca/help/4462138/description-of-the-security-update-for-office-2013-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1f96f114");
      # https://support.microsoft.com/en-ca/help/4018300/description-of-the-security-update-for-office-2013-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?80eba161");
      # https://support.microsoft.com/en-ca/help/4462146/description-of-the-security-update-for-office-2016-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?995b2a7e");
      # https://support.microsoft.com/en-ca/help/4018294/description-of-the-security-update-for-office-2016-february-12-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9fd278c9");
      # https://docs.microsoft.com/en-us/officeupdates/update-history-office365-proplus-by-date
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c6fc9b1b");
      # https://docs.microsoft.com/en-us/officeupdates/update-history-office-2019
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?42ab6861");
      # https://support.office.com/en-us/article/install-office-updates-2ab296f3-7f03-43a2-8e50-46de917611c5
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7b126882");
      script_set_attribute(attribute:"solution", value:
    "Microsoft has released the following security updates to address this issue:
      -KB4018294
      -KB4018300
      -KB4018313
      -KB4462138
      -KB4462146
      -KB4462174
      -KB4462177
    
    For Office 365, Office 2016 C2R, or Office 2019, ensure automatic
    updates are enabled or open any office app and manually perform an
    update.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-0675");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/02/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/02/12");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows : Microsoft Bulletins");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("office_installed.nasl", "smb_hotfixes.nasl", "ms_bulletin_checks_possible.nasl");
      script_require_keys("SMB/MS_Bulletin_Checks/Possible");
      script_require_ports(139, 445, "Host/patch_management_checks");
    
      exit(0);
    }
    
    include("audit.inc");
    include("smb_func.inc");
    include("smb_hotfixes.inc");
    include("smb_hotfixes_fcheck.inc");
    include("smb_reg_query.inc");
    include("misc_func.inc");
    include("install_func.inc");
    
    global_var vuln;
    
    get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");
    
    bulletin = "MS19-02";
    kbs = make_list(
      '4018294', # Office 2016
      '4018300', # Office 2013 SP1
      '4018313', # Office 2010 SP2
      '4462138', # Office 2013 SP1
      '4462146', # Office 2016
      '4462174', # Office 2010 SP2
      '4462177'  # Office 2010 SP2
    );
    
    if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_HOLE);
    
    get_kb_item_or_exit("SMB/Registry/Enumerated", exit_code:1);
    
    vuln = FALSE;
    port = kb_smb_transport();
    
    office_vers = hotfix_check_office_version();
    
    # Office 2010 SP2
    if (office_vers["14.0"])
    {
      office_sp = get_kb_item("SMB/Office/2010/SP");
      if (!isnull(office_sp) && office_sp == 2)
      {
        prod = "Microsoft Office 2010 SP2";
    
        path = hotfix_get_officecommonfilesdir(officever:"14.0");
        path = hotfix_append_path(path:path, value:"Microsoft Shared\Office14");
        kb = "4462174";
        file = "mso.dll";
        version = "14.0.7229.5000";
        if (hotfix_check_fversion(file:file, version:version, path:path, kb:kb, bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
    
        path = hotfix_get_officeprogramfilesdir(officever:"14.0");
        path = hotfix_append_path(path:path, value:"Microsoft Office\Office14");
        kb = "4462177";
        file = "graph.exe";
        version = "14.0.7229.5000";
        if (hotfix_check_fversion(file:file, version:version, path:path, kb:kb, bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
    
    
        path = hotfix_get_officecommonfilesdir(officever:"14.0");
        path = hotfix_append_path(path:path, value:"Microsoft Shared\Office14");
        kb = "4018313";
        file = "acecore.dll";
        version = "14.0.7229.5000";
        if (hotfix_check_fversion(file:file, version:version, path:path, kb:kb, bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
      }
    }
    
    # Office 2013 SP1
    if (office_vers["15.0"])
    {
      office_sp = get_kb_item("SMB/Office/2013/SP");
      if (!isnull(office_sp) && office_sp == 1)
      {
        prod = "Microsoft Office 2013 SP1";
    
        path = hotfix_get_officecommonfilesdir(officever:"15.0");
        path = hotfix_append_path(path:path, value:"Microsoft Shared\Office15");
        kb = "4462138";
        file = "mso.dll";
        version = "15.0.5111.1000";
        if (hotfix_check_fversion(file:file, version:version, path:path, kb:kb, bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
    
        path = hotfix_get_officecommonfilesdir(officever:"15.0");
        path = hotfix_append_path(path:path, value:"Microsoft Shared\Office15");
        kb = "4018300";
        file = "acecore.dll";
        version = "15.0.5111.1000";
        if (hotfix_check_fversion(file:file, version:version, path:path, kb:kb, bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
      }
    }
    
    # Office 2016
    if (office_vers["16.0"])
    {
      office_sp = get_kb_item("SMB/Office/2016/SP");
      if (!isnull(office_sp) && office_sp == 0)
      {
        prod = "Microsoft Office 2016";
        prod2019 = "Microsoft Office 2019";
    
        path = hotfix_get_officecommonfilesdir(officever:"16.0");
        mso_dll_path = hotfix_append_path(path:path, value:"Microsoft Shared\Office16");
    
        path = hotfix_get_officecommonfilesdir(officever:"16.0");
        acecore_dll_path = hotfix_append_path(path:path, value:"Microsoft Shared\Office16");
    
        c2r_path = mso_dll_path;
    
        # MSI acecore.dll
        if (hotfix_check_fversion(file:"acecore.dll", version:"16.0.4810.1000", channel:"MSI", channel_product:"Office", path:acecore_dll_path, kb:"4018294", bulletin:bulletin, product:prod) == HCF_OLDER)
          vuln = TRUE;
    
        if (
          # MSI mso.dll
          hotfix_check_fversion(file:"mso.dll", version:"16.0.4810.1000", channel:"MSI", channel_product:"Office", path:mso_dll_path, kb:"4462146", bulletin:bulletin, product:prod) == HCF_OLDER ||
          # C2R
          hotfix_check_fversion(file:"mso.dll", version:"16.0.8431.2372", channel:"Deferred", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod) == HCF_OLDER ||
          hotfix_check_fversion(file:"mso.dll", version:"16.0.9126.2356", channel:"Deferred", channel_version:"1803", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod) == HCF_OLDER ||
          hotfix_check_fversion(file:"mso.dll", version:"16.0.10730.20280", channel:"Deferred", channel_version:"1808", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod) == HCF_OLDER ||
          hotfix_check_fversion(file:"mso.dll", version:"16.0.10730.20280", channel:"First Release for Deferred", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod) == HCF_OLDER ||
          hotfix_check_fversion(file:"mso.dll", version:"16.0.11231.20164", channel:"Current", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod) == HCF_OLDER ||
          # 2019
          hotfix_check_fversion(file:"mso.dll", version:"16.0.11231.20164", channel:"2019 Retail", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod2019) == HCF_OLDER ||
          hotfix_check_fversion(file:"mso.dll", version:"16.0.10341.20010", channel:"2019 Volume", channel_product:"Office", path:c2r_path, bulletin:bulletin, product:prod2019) == HCF_OLDER
        )
        vuln = TRUE;
      }
    }
    
    if (vuln)
    {
      replace_kb_item(name:'SMB/Missing/'+bulletin, value:TRUE);
      hotfix_security_hole();
      hotfix_check_fversion_end();
      exit(0);
    }
    else
    {
      hotfix_check_fversion_end();
      audit(AUDIT_HOST_NOT, 'affected');
    }