#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Tencent Linux Security Advisory TSSA-2025:0395.
##
include('compat.inc');
if (description)
{
script_id(276432);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/12/04");
script_cve_id(
"CVE-2024-8176",
"CVE-2025-1930",
"CVE-2025-1931",
"CVE-2025-1932",
"CVE-2025-1933",
"CVE-2025-1934",
"CVE-2025-1935",
"CVE-2025-1936",
"CVE-2025-1937",
"CVE-2025-1938",
"CVE-2025-2817",
"CVE-2025-2830",
"CVE-2025-3028",
"CVE-2025-3029",
"CVE-2025-3030",
"CVE-2025-3523",
"CVE-2025-3875",
"CVE-2025-3909",
"CVE-2025-3932",
"CVE-2025-4083",
"CVE-2025-4087",
"CVE-2025-4091",
"CVE-2025-4093",
"CVE-2025-26695",
"CVE-2025-26696",
"CVE-2025-27363"
);
script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2025/05/27");
script_xref(name:"IAVA", value:"2025-A-0146-S");
script_xref(name:"IAVA", value:"2025-A-0213-S");
script_xref(name:"IAVA", value:"2025-A-0279-S");
script_xref(name:"IAVA", value:"2025-A-0308-S");
script_xref(name:"IAVA", value:"2025-A-0357-S");
script_name(english:"TencentOS Server 4: thunderbird (TSSA-2025:0395)");
script_set_attribute(attribute:"synopsis", value:
"The remote TencentOS Server 4 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 4 host is prior to tested version. It is,
therefore, affected by multiple vulnerabilities as referenced in the TSSA-2025:0395 advisory.
Package updates are available for TencentOS Server 4 that fix the following vulnerabilities:
CVE-2025-4093:
Memory safety bug present in Firefox ESR 128.9, and Thunderbird 128.9. This bug showed evidence of memory
corruption and we presume that with enough effort this could have been exploited to run arbitrary code.
This vulnerability affects Firefox ESR < 128.10 and Thunderbird < 128.10.
CVE-2025-4091:
Memory safety bugs present in Firefox 137, Thunderbird 137, Firefox ESR 128.9, and Thunderbird 128.9. 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 < 138, Firefox ESR <
128.10, Thunderbird < 138, and Thunderbird ESR < 128.10.
CVE-2025-4087:
A vulnerability was identified in Firefox where XPath parsing could trigger undefined behavior due to
missing null checks during attribute access. This could lead to out-of-bounds read access and potentially,
memory corruption. This vulnerability affects Firefox < 138, Firefox ESR < 128.10, Thunderbird < 138, and
Thunderbird ESR < 128.10.
CVE-2025-4083:
A process isolation vulnerability in Firefox stemmed from improper handling of javascript: URIs, which
could allow content to execute in the top-level document's process instead of the intended frame,
potentially enabling a sandbox escape. This vulnerability affects Firefox < 138, Firefox ESR < 128.10,
Firefox ESR < 115.23, Thunderbird < 138, and Thunderbird ESR < 128.10.
CVE-2025-3932:
It was possible to craft an email that showed a tracking link as an attachment. If the user attempted to
open the attachment, Thunderbird automatically accessed the link. The configuration to block remote
content did not prevent that. Thunderbird has been fixed to no longer allow access to web pages listed in
the X-Mozilla-External-Attachment-URL header of an email. This vulnerability affects Thunderbird <
128.10.1 and Thunderbird < 138.0.1.
CVE-2025-3909:
Thunderbird's handling of the X-Mozilla-External-Attachment-URL header can be exploited to execute
JavaScript in the file:/// context. By crafting a nested email attachment (message/rfc822) and setting its
content type to application/pdf, Thunderbird may incorrectly render it as HTML when opened, allowing the
embedded JavaScript to run without requiring a file download. This behavior relies on Thunderbird auto-
saving the attachment to /tmp and linking to it via the file:/// protocol, potentially enabling JavaScript
execution as part of the HTML. This vulnerability affects Thunderbird < 128.10.1 and Thunderbird <
138.0.1.
CVE-2025-3877:
A crafted HTML email using mailbox:/// links can trigger automatic, unsolicited downloads of .pdf files to
the user's desktop or home directory without prompting, even if auto-saving is disabled. This behavior can
be abused to fill the disk with garbage data (e.g. using /dev/urandom on Linux) or to leak Windows
credentials via SMB links when the email is viewed in HTML mode. While user interaction is required to
download the .pdf file, visual obfuscation can conceal the download trigger. Viewing the email in HTML
mode is enough to load external content. This vulnerability affects Thunderbird < 128.10.1 and Thunderbird
< 138.0.1.
CVE-2025-3875:
Thunderbird parses addresses in a way that can allow sender spoofing in case the server allows an invalid
From address to be used. For example, if the From header contains an (invalid) value Spoofed Name ,
Thunderbird treats [email protected] as the actual address. This vulnerability affects Thunderbird <
128.10.1 and Thunderbird < 138.0.1.
CVE-2025-3523:
When an email contains multiple attachments with external links via the X-Mozilla-External-Attachment-URL
header, only the last link is shown when hovering over any attachment. Although the correct link is used
on click, the misleading hover text could trick users into downloading content from untrusted sources.
This vulnerability affects Thunderbird < 137.0.2 and Thunderbird < 128.9.2.
CVE-2025-3030:
Memory safety bugs present in Firefox 136, Thunderbird 136, Firefox ESR 128.8, and Thunderbird 128.8. 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 < 137, Firefox ESR <
128.9, Thunderbird < 137, and Thunderbird < 128.9.
CVE-2025-3029:
A crafted URL containing specific Unicode characters could have hidden the true origin of the page,
resulting in a potential spoofing attack. This vulnerability affects Firefox < 137, Firefox ESR < 128.9,
Thunderbird < 137, and Thunderbird < 128.9.
CVE-2025-3028:
JavaScript code running while transforming a document with the XSLTProcessor could lead to a use-after-
free. This vulnerability affects Firefox < 137, Firefox ESR < 115.22, Firefox ESR < 128.9, Thunderbird <
137, and Thunderbird < 128.9.
CVE-2025-2830:
By crafting a malformed file name for an attachment in a multipart message, an attacker can trick
Thunderbird into including a directory listing of /tmp when the message is forwarded or edited as a new
message. This vulnerability could allow attackers to disclose sensitive information from the victim's
system. This vulnerability is not limited to Linux; similar behavior has been observed on Windows as well.
This vulnerability affects Thunderbird < 137.0.2 and Thunderbird < 128.9.2.
CVE-2025-2817:
Thunderbird's update mechanism allowed a medium-integrity user process to interfere with the SYSTEM-level
updater by manipulating the file-locking behavior. By injecting code into the user-privileged process, an
attacker could bypass intended access controls, allowing SYSTEM-level file operations on paths controlled
by a non-privileged user and enabling privilege escalation. This vulnerability affects Firefox < 138,
Firefox ESR < 128.10, Firefox ESR < 115.23, Thunderbird < 138, and Thunderbird < 128.10.
CVE-2025-27363:
An out of bounds write exists in FreeType versions 2.13.0 and below (newer versions of FreeType are not
vulnerable) when attempting to parse font subglyph structures related to TrueType GX and variable font
files. The vulnerable code assigns a signed short value to an unsigned long and then adds a static value
causing it to wrap around and allocate too small of a heap buffer. The code then writes up to 6 signed
long integers out of bounds relative to this buffer. This may result in arbitrary code execution. This
vulnerability may have been exploited in the wild.
CVE-2025-26696:
Certain crafted MIME email messages that claimed to contain an encrypted OpenPGP message, which instead
contained an OpenPGP signed message, were wrongly shown as being encrypted. This vulnerability affects
Thunderbird < 136 and Thunderbird < 128.8.
CVE-2025-26695:
When requesting an OpenPGP key from a WKD server, an incorrect padding size was used and a network
observer could have learned the length of the requested email address. This vulnerability affects
Thunderbird < 136 and Thunderbird < 128.8.
CVE-2025-1938:
Memory safety bugs present in Firefox 135, Thunderbird 135, Firefox ESR 128.7, and Thunderbird 128.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 Firefox < 136, Firefox ESR <
128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1937:
Memory safety bugs present in Firefox 135, Thunderbird 135, Firefox ESR 115.20, Firefox ESR 128.7, and
Thunderbird 128.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 Firefox <
136, Firefox ESR < 115.21, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1936:
jar: URLs retrieve local file content packaged in a ZIP archive. The null and everything after it was
ignored when retrieving the content from the archive, but the fake extension after the null was used to
determine the type of content. This could have been used to hide code in a web extension disguised as
something else like an image. This vulnerability affects Firefox < 136, Firefox ESR < 128.8, Thunderbird <
136, and Thunderbird < 128.8.
CVE-2025-1935:
A web page could trick a user into setting that site as the default handler for a custom URL protocol.
This vulnerability affects Firefox < 136, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1934:
It was possible to interrupt the processing of a RegExp bailout and run additional JavaScript, potentially
triggering garbage collection when the engine was not expecting it. This vulnerability affects Firefox <
136, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1933:
On 64-bit CPUs, when the JIT compiles WASM i32 return values they can pick up bits from left over memory.
This can potentially cause them to be treated as a different type. This vulnerability affects Firefox <
136, Firefox ESR < 115.21, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1932:
An inconsistent comparator in xslt/txNodeSorter could have resulted in potentially exploitable out-of-
bounds access. Only affected version 122 and later. This vulnerability affects Firefox < 136, Firefox ESR
< 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1931:
It was possible to cause a use-after-free in the content process side of a WebTransport connection,
leading to a potentially exploitable crash. This vulnerability affects Firefox < 136, Firefox ESR <
115.21, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2025-1930:
On Windows, a compromised content process could use bad StreamData sent over AudioIPC to trigger a use-
after-free in the Browser process. This could have led to a sandbox escape. This vulnerability affects
Firefox < 136, Firefox ESR < 115.21, Firefox ESR < 128.8, Thunderbird < 136, and Thunderbird < 128.8.
CVE-2024-8176:
A stack overflow vulnerability exists in the libexpat library due to the way it handles recursive entity
expansion in XML documents. When parsing an XML document with deeply nested entity references, libexpat
can be forced to recurse indefinitely, exhausting the stack space and causing a crash. This issue could
lead to denial of service (DoS) or, in some cases, exploitable memory corruption, depending on the
environment and library usage.
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-20250395.xml");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-27363");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2023/12/12");
script_set_attribute(attribute:"patch_publication_date", value:"2025/07/02");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/11/20");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:tencent:tencentos_server:4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:tencent:tencentos_server:thunderbird");
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:"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:"^4([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'TencentOS 4.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': '4',
'pkgs': [
{'reference':'thunderbird-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-128.10.0-1.oc9', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-debuginfo-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-debuginfo-128.10.0-1.oc9', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-debugsource-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-debugsource-128.10.0-1.oc9', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-librnp-rnp-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-librnp-rnp-128.10.0-1.oc9', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-librnp-rnp-debuginfo-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-librnp-rnp-debuginfo-128.10.0-1.oc9', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-wayland-128.10.0-1.oc9', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'allowmaj':TRUE},
{'reference':'thunderbird-wayland-128.10.0-1.oc9', '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 / thunderbird-debuginfo / thunderbird-debugsource / etc');
}
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