#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Red Hat Security Advisory RHSA-2022:1302.
##
include('compat.inc');
if (description)
{
script_id(208650);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/10/09");
script_cve_id(
"CVE-2022-1097",
"CVE-2022-1196",
"CVE-2022-1197",
"CVE-2022-24713",
"CVE-2022-28281",
"CVE-2022-28282",
"CVE-2022-28285",
"CVE-2022-28286",
"CVE-2022-28289"
);
script_xref(name:"IAVA", value:"2022-A-0134-S");
script_xref(name:"RHSA", value:"2022:1302");
script_name(english:"CentOS 7 : thunderbird (RHSA-2022:1302)");
script_set_attribute(attribute:"synopsis", value:
"The remote CentOS Linux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote CentOS Linux 7 host has a package installed that is affected by multiple vulnerabilities as referenced in the
RHSA-2022:1302 advisory.
- <code>NSSToken</code> objects were referenced via direct points, and could have been accessed in an unsafe
way on different threads, leading to a use-after-free and potentially exploitable crash. This
vulnerability affects Thunderbird < 91.8, Firefox < 99, and Firefox ESR < 91.8. (CVE-2022-1097)
- After a VR Process is destroyed, a reference to it may have been retained and used, leading to a use-
after-free and potentially exploitable crash. This vulnerability affects Thunderbird < 91.8 and Firefox
ESR < 91.8. (CVE-2022-1196)
- When importing a revoked key that specified key compromise as the revocation reason, Thunderbird did not
update the existing copy of the key that was not yet revoked, and the existing key was kept as non-
revoked. Revocation statements that used another revocation reason, or that didn't specify a revocation
reason, were unaffected. This vulnerability affects Thunderbird < 91.8. (CVE-2022-1197)
- regex is an implementation of regular expressions for the Rust language. The regex crate features built-in
mitigations to prevent denial of service attacks caused by untrusted regexes, or untrusted input matched
by trusted regexes. Those (tunable) mitigations already provide sane defaults to prevent attacks. This
guarantee is documented and it's considered part of the crate's API. Unfortunately a bug was discovered in
the mitigations designed to prevent untrusted regexes to take an arbitrary amount of time during parsing,
and it's possible to craft regexes that bypass such mitigations. This makes it possible to perform denial
of service attacks by sending specially crafted regexes to services accepting user-controlled, untrusted
regexes. All versions of the regex crate before or equal to 1.5.4 are affected by this issue. The fix is
include starting from regex 1.5.5. All users accepting user-controlled regexes are recommended to upgrade
immediately to the latest version of the regex crate. Unfortunately there is no fixed set of problematic
regexes, as there are practically infinite regexes that could be crafted to exploit this vulnerability.
Because of this, it us not recommend to deny known problematic regexes. (CVE-2022-24713)
- If a compromised content process sent an unexpected number of WebAuthN Extensions in a Register command to
the parent process, an out of bounds write would have occurred leading to memory corruption and a
potentially exploitable crash. This vulnerability affects Thunderbird < 91.8, Firefox < 99, and Firefox
ESR < 91.8. (CVE-2022-28281)
- By using a link with <code>rel=localization</code> a use-after-free could have been triggered by
destroying an object during JavaScript execution and then referencing the object through a freed pointer,
leading to a potential exploitable crash. This vulnerability affects Thunderbird < 91.8, Firefox < 99, and
Firefox ESR < 91.8. (CVE-2022-28282)
- When generating the assembly code for <code>MLoadTypedArrayElementHole</code>, an incorrect AliasSet was
used. In conjunction with another vulnerability this could have been used for an out of bounds memory
read. This vulnerability affects Thunderbird < 91.8, Firefox < 99, and Firefox ESR < 91.8.
(CVE-2022-28285)
- Due to a layout change, iframe contents could have been rendered outside of its border. This could have
led to user confusion or spoofing attacks. This vulnerability affects Thunderbird < 91.8, Firefox < 99,
and Firefox ESR < 91.8. (CVE-2022-28286)
- Mozilla developers and community members Nika Layzell, Andrew McCreight, Gabriele Svelto, and the Mozilla
Fuzzing Team reported memory safety bugs present in Thunderbird 91.7. Some of these bugs showed evidence
of memory corruption and we presume that with enough effort some of these could have been exploited to run
arbitrary code. This vulnerability affects Thunderbird < 91.8, Firefox < 99, and Firefox ESR < 91.8.
(CVE-2022-28289)
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://access.redhat.com/errata/RHSA-2022:1302");
script_set_attribute(attribute:"solution", value:
"Update the affected thunderbird package.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
script_set_cvss_temporal_vector("CVSS2#E:POC/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:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-24713");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2022-28289");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_severity", value:"Important");
script_set_attribute(attribute:"vuln_publication_date", value:"2022/03/08");
script_set_attribute(attribute:"patch_publication_date", value:"2022/04/11");
script_set_attribute(attribute:"plugin_publication_date", value:"2024/10/09");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:thunderbird");
script_set_attribute(attribute:"cpe", value:"cpe:/o:centos:centos:7");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_set_attribute(attribute:"stig_severity", value:"I");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"CentOS Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/CentOS/release", "Host/CentOS/rpm-list", "Host/cpu");
exit(0);
}
include('rpm.inc');
include('rhel.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/CentOS/release');
if (isnull(os_release) || 'CentOS' >!< os_release) audit(AUDIT_OS_NOT, 'CentOS');
var os_ver = pregmatch(pattern: "CentOS(?: Linux)? release ([0-9]+)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'CentOS');
os_ver = os_ver[1];
if (!rhel_check_release(operator: 'ge', os_version: os_ver, rhel_version: '7')) audit(AUDIT_OS_NOT, 'CentOS 7.x', 'CentOS ' + os_ver);
if (!get_kb_item('Host/CentOS/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu && 'ppc' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'CentOS', cpu);
var pkgs = [
{'reference':'thunderbird-91.8.0-1.el7.centos', 'cpu':'ppc64le', 'release':'CentOS-7', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-91.8.0-1.el7.centos', 'cpu':'x86_64', 'release':'CentOS-7', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (reference && _release) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'thunderbird');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation