Lucene search

K
nessusThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.SYNAPTICS_SYNTP_SYS_KEYLOGGER_VULN.NASL
HistoryDec 15, 2017 - 12:00 a.m.

Synaptics SynTP.sys Driver Keylogger Vulnerability

2017-12-1500:00:00
This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
90

3.6 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

NONE

AV:L/AC:L/Au:N/C:P/I:P/A:N

5.1 Medium

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

HIGH

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N

0.0004 Low

EPSS

Percentile

5.1%

The ‘SynTP.sys’ driver included with Synaptics touch pad software installed on the remote host is affected by a keylogger vulnerability.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(105300);
  script_version("1.3");
  script_cvs_date("Date: 2019/11/12");

  script_cve_id("CVE-2017-17556");
  script_xref(name:"IAVA", value:"2017-A-0369");

  script_name(english:"Synaptics SynTP.sys Driver Keylogger Vulnerability");
  script_summary(english:"Checks version of SynTP.sys");

  script_set_attribute(attribute:"synopsis", value:
"The remote host contains a kernel driver that is affected by a
vulnerability.");
  script_set_attribute(attribute:"description", value:
"The 'SynTP.sys' driver included with Synaptics touch pad software
installed on the remote host is affected by a keylogger vulnerability.");
  script_set_attribute(attribute:"see_also", value:"https://support.hp.com/us-en/document/c05827409");
  script_set_attribute(attribute:"see_also", value:"https://www.synaptics.com/company/blog/touchpad-security-brief");
  script_set_attribute(attribute:"solution", value:
"Apply the vendor supplied patch appropriate to your environment.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:N");
  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:H/UI:N/S:U/C:H/I:L/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-2017-17556");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");

  script_set_attribute(attribute:"vuln_publication_date", value:"2017/11/07");
  script_set_attribute(attribute:"patch_publication_date", value:"2017/11/07");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/12/15");

  script_set_attribute(attribute:"potential_vulnerability", value:"true");
  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

  script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("smb_hotfixes.nasl");
  script_require_keys("SMB/Registry/Enumerated", "Settings/ParanoidReport");
  script_require_ports(139, 445);

  exit(0);
}

include("smb_func.inc");
include("smb_hotfixes.inc");
include("audit.inc");

get_kb_item_or_exit("SMB/Registry/Enumerated", exit_code:1);

if (report_paranoia < 2) audit(AUDIT_PARANOID);

# Connect to the appropriate share.
port    =  kb_smb_transport();
login   =  kb_smb_login();
pass    =  kb_smb_password();
domain  =  kb_smb_domain();

if(! smb_session_init()) audit(AUDIT_FN_FAIL, 'smb_session_init');

# Grab the file version of the affected file.
winroot = hotfix_get_systemroot();
if (!winroot) audit(AUDIT_PATH_NOT_DETERMINED, 'system root');

share = ereg_replace(pattern:"^([A-Za-z]):.*", replace:"\1$", string:winroot);
sys =  ereg_replace(pattern:"^[A-Za-z]:(.*)", replace:"\1\System32\drivers\SynTP.sys", string:winroot);

rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
if (rc != 1)
{
  NetUseDel();
  audit(AUDIT_SHARE_FAIL, share);
}

fh = CreateFile(
  file:sys,
  desired_access:GENERIC_READ,
  file_attributes:FILE_ATTRIBUTE_NORMAL,
  share_mode:FILE_SHARE_READ,
  create_disposition:OPEN_EXISTING
);

version = NULL;
pname = NULL;
if (!isnull(fh))
{
  ret = GetFileVersionEx(handle:fh);
  if (!isnull(ret)) children = ret['Children'];

  stringfileinfo = children['StringFileInfo'];
  if (!isnull(stringfileinfo))
  {
    foreach key (keys(stringfileinfo))
    {
      data = stringfileinfo[key];
      if (!isnull(data))
      {
        version  = data['FileVersion'];
        pname    = data['ProductName'];
      }
    }
  }
  CloseFile(handle:fh);
}
NetUseDel();

# remove potential excess data from FileVersion
# FileVersion actually returns Product Version
# e.g. '17.0.18.8 25Oct13'
version = split(version, sep:' ', keep:false);
version = version[0];

# Check the version number.
vuln = FALSE;
fix = '';
if (!isnull(version) && (!isnull(pname) && "Synaptics Pointing Device Driver" >< pname))
{
  if (version =~ "^19\.3\.31($|[^0-9])")
    fix = '19.3.31.31';
  else if (version =~ "^19\.3\.8($|[^0-9])")
    fix = "19.3.8.22";
  else if (version =~ "^19\.0\.19($|[^0-9])")
    fix = "19.0.19.63";
  else if (version =~ "^19\.0\.17($|[^0-9])")
    fix = "19.0.17.202";
  else if (version =~ "17\.0\.8($|[^0-9])")
    fix = "17.0.8.17";
  else if (version =~ "17\.0\.18($|[^0-9])")
    fix = "17.0.18.25";

  if (fix && ver_compare(ver:version, fix:fix) < 0)
    vuln = TRUE;
}
else
  audit(AUDIT_NOT_INST, "Synaptics Pointing Device Driver");

if (vuln)
{
  port = get_kb_item("SMB/transport");
  if (isnull(port))
    port = 445;

  items = make_array("Path", winroot + "\System32\drivers\SynTP.sys",
                     "Installed version", version,
                     "Fixed version", fix);
  order = make_list("Path", "Installed version", "Fixed version");
  report = report_items_str(report_items:items, ordered_fields:order);
  security_report_v4(port:port, extra:report, severity:SECURITY_NOTE);

}
else
  audit(AUDIT_INST_VER_NOT_VULN, "Synaptics Pointing Device Driver");

3.6 Low

CVSS2

Attack Vector

LOCAL

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

NONE

AV:L/AC:L/Au:N/C:P/I:P/A:N

5.1 Medium

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

HIGH

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N

0.0004 Low

EPSS

Percentile

5.1%

Related for SYNAPTICS_SYNTP_SYS_KEYLOGGER_VULN.NASL