Lucene search

K
nessusThis script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.GOLANG_1_33.NASL
HistoryMar 07, 2024 - 12:00 a.m.

Golang < 1.33.0 DOS

2024-03-0700:00:00
This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
29
golang
denial of service
vulnerability
protojson.unmarshal
remote host
crash
unmarshaling
json
nessus
version number

7 High

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

15.6%

The version of Golang running on the remote host is prior to 1.33.0. It is, therefore, is affected by a Denial of Service vulnerability. A maliciously crafted file could could cause the protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set, causing the device to crash.

Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(191710);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/03/08");

  script_cve_id("CVE-2024-24786");
  script_xref(name:"IAVB", value:"2024-B-0020");

  script_name(english:"Golang < 1.33.0 DOS");

  script_set_attribute(attribute:"synopsis", value:
"An application installed on the remote Windows host is affected by a Denial of Service vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of Golang running on the remote host is prior to 1.33.0. It is, therefore, is affected by a Denial of Service 
vulnerability. A maliciously crafted file could could cause the protojson.Unmarshal function can enter an infinite loop when 
unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a 
google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set, causing the device to crash.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://pkg.go.dev/vuln/GO-2024-2611");
  script_set_attribute(attribute:"see_also", value:"https://go.dev/cl/569356");
  script_set_attribute(attribute:"see_also", value:"https://vuln.go.dev/ID/GO-2024-2611.json");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Golang Go version 1.33.0 or later.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
  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:N/S:U/C:N/I:N/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-2024-24786");

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

  script_set_attribute(attribute:"vuln_publication_date", value:"2024/03/05");
  script_set_attribute(attribute:"patch_publication_date", value:"2024/03/05");
  script_set_attribute(attribute:"plugin_publication_date", value:"2024/03/07");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:golang:go");
  script_set_attribute(attribute:"stig_severity", value:"I");
  script_end_attributes();

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

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

  script_dependencies("golang_win_installed.nbin");
  script_require_keys("installed_sw/Golang Go Programming Language", "SMB/Registry/Enumerated");

  exit(0);
}

include('vcf.inc');
get_kb_item_or_exit('SMB/Registry/Enumerated');

var app_info = vcf::get_app_info(app:'Golang Go Programming Language', win_local:TRUE);

var constraints = [
  { 'min_version' : '0.0', 'fixed_version' : '1.33.0' }
];

vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);
VendorProductVersionCPE
golanggocpe:/a:golang:go