#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Tencent Linux Security Advisory TSSA-2022:0286.
##
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(238881);
script_version("1.3");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/12/05");
script_cve_id(
"CVE-2022-45403",
"CVE-2022-45404",
"CVE-2022-45405",
"CVE-2022-45406",
"CVE-2022-45408",
"CVE-2022-45409",
"CVE-2022-45410",
"CVE-2022-45411",
"CVE-2022-45412",
"CVE-2022-45414",
"CVE-2022-45416",
"CVE-2022-45418",
"CVE-2022-45420",
"CVE-2022-45421",
"CVE-2022-46872",
"CVE-2022-46874",
"CVE-2022-46878",
"CVE-2022-46880",
"CVE-2022-46881",
"CVE-2022-46882"
);
script_name(english:"TencentOS Server 2: thunderbird (TSSA-2022:0286)");
script_set_attribute(attribute:"synopsis", value:
"The remote TencentOS Server 2 host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The version of Tencent Linux installed on the remote TencentOS Server 2 host is prior to tested version. It is,
therefore, affected by multiple vulnerabilities as referenced in the TSSA-2022:0286 advisory.
Package updates are available for TencentOS Server 2 that fix the following vulnerabilities:
CVE-2022-45403:
Service Workers should not be able to infer information about opaque cross-origin responses; but timing
information for cross-origin media combined with Range requests might have allowed them to determine the
presence or length of a media file. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5,
and Firefox < 107.
CVE-2022-45404:
Through a series of popup and <code>window.print()</code> calls, an attacker can cause a window to go
fullscreen without the user seeing the notification prompt, resulting in potential user confusion or
spoofing attacks. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45405:
Freeing arbitrary <code>nsIInputStream</code>'s on a different thread than creation could have led to a
use-after-free and potentially exploitable crash. This vulnerability affects Firefox ESR < 102.5,
Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45406:
If an out-of-memory condition occurred when creating a JavaScript global, a JavaScript realm may be
deleted while references to it lived on in a BaseShape. This could lead to a use-after-free causing a
potentially exploitable crash. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and
Firefox < 107.
CVE-2022-45408:
Through a series of popups that reuse windowName, an attacker can cause a window to go fullscreen
without the user seeing the notification prompt, resulting in potential user confusion or spoofing
attacks. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45409:
The garbage collector could have been aborted in several states and zones and
<code>GCRuntime::finishCollection</code> may not have been called, leading to a use-after-free and
potentially exploitable crash. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and
Firefox < 107.
CVE-2022-45410:
When a ServiceWorker intercepted a request with <code>FetchEvent</code>, the origin of the request was
lost after the ServiceWorker took ownership of it. This had the effect of negating SameSite cookie
protections. This was addressed in the spec and then in browsers. This vulnerability affects Firefox ESR <
102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45411:
Cross-Site Tracing occurs when a server will echo a request back via the Trace method, allowing an XSS
attack to access to authorization headers and cookies inaccessible to JavaScript (such as cookies
protected by HTTPOnly). To mitigate this attack, browsers placed limits on <code>fetch()</code> and
XMLHttpRequest; however some webservers have implemented non-standard headers such as <code>X-Http-Method-
Override</code> that override the HTTP method, and made this attack possible again. Thunderbird has
applied the same mitigations to the use of this and similar headers. This vulnerability affects Firefox
ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45412:
When resolving a symlink such as <code>file:///proc/self/fd/1</code>, an error message may be produced
where the symlink was resolved to a string containing unitialized memory in the buffer. <br>*This bug only
affects Thunderbird on Unix-based operated systems (Android, Linux, MacOS). Windows is unaffected.*. This
vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45416:
Keyboard events reference strings like KeyA that were at fixed, known, and widely-spread addresses.
Cache-based timing attacks such as Prime+Probe could have possibly figured out which keys were being
pressed. This vulnerability affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45418:
If a custom mouse cursor is specified in CSS, under certain circumstances the cursor could have been
drawn over the browser UI, resulting in potential user confusion or spoofing attacks. This vulnerability
affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45420:
Use tables inside of an iframe, an attacker could have caused iframe contents to be rendered outside the
boundaries of the iframe, resulting in potential user confusion or spoofing attacks. This vulnerability
affects Firefox ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-45421:
Mozilla developers Andrew McCreight and Gabriele Svelto reported memory safety bugs present in
Thunderbird 102.4. 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 Firefox
ESR < 102.5, Thunderbird < 102.5, and Firefox < 107.
CVE-2022-46880:
A missing check related to tex units could have led to a use-after-free and potentially exploitable
crash.<br / >*Note*: This advisory was added on December 13th, 2022 after we better understood the impact
of the issue. The fix was included in the original release of Firefox 105. This vulnerability affects
Firefox ESR < 102.6, Firefox < 105, and Thunderbird < 102.6.
CVE-2022-46878:
Mozilla developers Randell Jesup, Valentin Gosu, Olli Pettay, and the Mozilla Fuzzing Team reported
memory safety bugs present in Thunderbird 102.5. 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 Firefox < 108, Firefox ESR < 102.6, and Thunderbird < 102.6.
CVE-2022-46872:
An attacker who compromised a content process could have partially escaped the sandbox to read arbitrary
files via clipboard-related IPC messages.<br>*This bug only affects Thunderbird for Linux. Other operating
systems are unaffected.*. This vulnerability affects Firefox < 108, Firefox ESR < 102.6, and Thunderbird <
102.6.
CVE-2022-46874:
A file with a long filename could have had its filename truncated to remove the valid extension, leaving
a malicious extension in its place. This could potentially led to user confusion and the execution of
malicious code.<br/>*Note*: This issue was originally included in the advisories for Thunderbird 102.6,
but a patch (specific to Thunderbird) was omitted, resulting in it actually being fixed in Thunderbird
102.6.1. This vulnerability affects Firefox < 108, Thunderbird < 102.6.1, Thunderbird < 102.6, and Firefox
ESR < 102.6.
CVE-2022-45414:
If a Thunderbird user quoted from an HTML email, for example by replying to the email, and the email
contained either a VIDEO tag with the POSTER attribute or an OBJECT tag with a DATA attribute, a network
request to the referenced remote URL was performed, regardless of a configuration to block remote content.
An image loaded from the POSTER attribute was shown in the composer window. These issues could have given
an attacker additional capabilities when targetting releases that did not yet have a fix for CVE-2022-3033
which was reported around three months ago. This vulnerability affects Thunderbird < 102.5.1.
CVE-2022-46881:
An optimization in WebGL was incorrect in some cases, and could have led to memory corruption and a
potentially exploitable crash. This vulnerability affects Firefox < 106, Firefox ESR < 102.6, and
Thunderbird < 102.6.
CVE-2022-46882:
A use-after-free in WebGL extensions could have led to a potentially exploitable crash. This
vulnerability affects Firefox < 107, Firefox ESR < 102.6, and Thunderbird < 102.6.
Tenable has extracted the preceding description block directly from the Tencent Linux security advisory.
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://mirrors.tencent.com/tlinux/errata/tssa-20220286.xml");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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-2022-46882");
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:"2022/11/25");
script_set_attribute(attribute:"patch_publication_date", value:"2022/11/25");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/06/16");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:tencent:tencentos_server:2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:tencent:tencentos_server:thunderbird");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Tencent Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2025 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl");
script_require_keys("Host/local_checks_enabled", "Host/etc/os-release", "Host/TencentOS/rpm-list", "Host/cpu");
exit(0);
}
include('rpm2.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || 'TencentOS' >!< os_product) audit(AUDIT_OS_NOT, 'TencentOS');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'TencentOS');
if (! preg(pattern:"^2([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'TencentOS 2.x', 'TencentOS ' + os_version);
if (!get_kb_item('Host/TencentOS/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) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'TencentOS', cpu);
var constraints = [
{
'release': '2',
'pkgs': [
{'reference':'thunderbird-102.6.0-2.el7', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE}
]
}
];
var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');
var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
foreach var constraint ( constraints ) {
# Check that the target release is equal to the affected release
if (!empty_or_null(constraint['release'])){
if (constraint['release'] != os_release) continue;
}
if (!empty_or_null(constraint['sp'])){
if (constraint['sp'] != os_sp) continue;
}
foreach var pkg ( constraint['pkgs'] ) {
reference = NULL;
sp = NULL;
_cpu = NULL;
el_string = NULL;
rpm_spec_vers_cmp = NULL;
epoch = NULL;
allowmaj = NULL;
exists_check = NULL;
cves = NULL;
if (!empty_or_null(pkg['reference'])) reference = pkg['reference'];
if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
if (reference &&
## (no known rpm to check OR known rpm_exists)
(!exists_check || rpm_exists(rpm:exists_check)) &&
rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
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