openSUSE 16: tomcat / tomcat-admin-webapps / tomcat-el-3_0-api / tomcat-embed / etc (openSUSE-SU-2026:21823-1)
10
| Source | Link |
|---|---|
| bugzilla | www.bugzilla.suse.com/1273150 |
| bugzilla | www.bugzilla.suse.com/1276893 |
| bugzilla | www.bugzilla.suse.com/1276894 |
| bugzilla | www.bugzilla.suse.com/1276895 |
| bugzilla | www.bugzilla.suse.com/1276896 |
| bugzilla | www.bugzilla.suse.com/1276897 |
| bugzilla | www.bugzilla.suse.com/1276898 |
| bugzilla | www.bugzilla.suse.com/1276899 |
| bugzilla | www.bugzilla.suse.com/1276900 |
| bugzilla | www.bugzilla.suse.com/1276901 |
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# openSUSE Security Update openSUSE-SU-2026:21823-1. The text itself
# is copyright (C) SUSE.
##
include('compat.inc');
if (description)
{
script_id(344996);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/12");
script_cve_id(
"CVE-2026-32990",
"CVE-2026-65182",
"CVE-2026-65183",
"CVE-2026-65637",
"CVE-2026-65905",
"CVE-2026-65927",
"CVE-2026-66299",
"CVE-2026-66422",
"CVE-2026-68525",
"CVE-2026-68569",
"CVE-2026-68763",
"CVE-2026-73180"
);
script_xref(name:"IAVA", value:"2026-A-0319-S");
script_xref(name:"IAVA", value:"2026-A-0902");
script_name(english:"openSUSE 16: tomcat / tomcat-admin-webapps / tomcat-el-3_0-api / tomcat-embed / etc (openSUSE-SU-2026:21823-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote openSUSE host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote openSUSE 16 host has packages installed that are affected by multiple vulnerabilities as referenced in the
openSUSE-SU-2026:21823-1 advisory.
- CVE-2026-65182: Bypass longest prefix security constraint (bsc#1276893).
- CVE-2026-65183: TOCTOU when setting specific permissions for Unix Domain Sockets (bsc#1276894).
- CVE-2026-65637: HTTP/2 no-authority bypass of strict SNI validation - fix incomplete (bsc#1276895).
- CVE-2026-65905: Limited replay attack possible with DIGEST authentication (bsc#1276896).
- CVE-2026-65927: RewriteValve [N] restarts at the second rule and may bypass access control
(bsc#1276897).
- CVE-2026-66299: memory exhaustion via maliciously slow clients due to the WebSocket chat example
providing an
unbounded buffer for undelivered messages (bsc#1273150).
- CVE-2026-66422: Servlet role references can bypass declarative role constraints (bsc#1276898).
- CVE-2026-68525: Redirect after FORM auth may bypass method specific constraints (bsc#1276899).
- CVE-2026-68569: Principal lookup can fail open in some cases (bsc#1276900).
- CVE-2026-68763: DoS via allocation leak in HTTP/2 backlog tracking when a stream is reset (bsc#1276901).
- CVE-2026-73180: Authenticated WebSocket session survives end of HTTP session (bsc#1276902).
Changes for tomcat:
- Update to Tomcat 9.0.121
* Catalina
+ Fix: Ensure that a login-config conflict when merging web.xml fragments
triggers a deployment failure. (markt)
+ Code: Remove unnecessary calls to String.intern() in the parsing of
configuration files. (markt)
+ Fix: Extend sessionAttributeValueClassNameFilter to include filtering of
dynamic proxy interface classes. (markt)
+ Fix: Attempt to use rollback when persisting user data to the
DataSourceUserDatabase fails and improve error reporting. (remm)
+ Fix: 70143: Handle InvalidFileNameException when parsing parts to
rethrow it as an IllegalStateException as mandated by the Servlet
specification. (remm)
+ Fix: Add missing reason to the JsonErrorReportValve. (remm)
+ Fix: evaluation of the N and C flags for rewrite rules. (remm)
+ Fix: qsd flag should always discard the original query string when
rewriting. (remm)
+ Fix: Add appropriate escaping for context path, current directory name
and parent directory name for directory listings produced by the default
servlet. Ensure XML escaping is used with XML output. (markt)
+ Fix: When processing certificate subject names and issuer names within
RewriteValve rules, always use the RFC 2253 format name. (markt)
+ Fix: the incorrect rejection of requests using digest authentication
when the client provided nonce count is at the upper boundary of the
window (markt).
+ Update: Separate the Context role mapping from the Servlet specification
security-role-ref. (remm)
+ Fix: Handle the case where the JNDIRealm is configured to perform role
searches with userRoleAttribute but the attribute is not available or
not configured for the current user. (markt)
+ Fix: Improve handling of session attribute addition concurrent with
session expiration. An application will now either see a successful
addition followed by expiration or the addition will not succeed. It is
no longer possible for the session to expire and the addition to
succeed. This is of particular not for attributes that implement
HttpSessionBindingListener. (markt)
+ Fix: Add a new attribute to the Context,
urlPatternsProvidedInDecodedForm. This attribute controls whether URLs
and URL patterns provided in the deployment descriptor (web.xml),
annotations and/or their programmatic equivalents are treated as being
provided in URL-encoded form (i.e. using %nn encoding) or in decoded
form. The Servlet specification requires that they are provided in
decoded form. However, Tomcat has historically treated them as if they
are provided in encoded form. In Tomcat 12, they will always be treated
as if they are provided in decoded form. This setting enables migration
from encoded form to decoded form on an application by application
basis. This attribute will be removed in Tomcat 12 where it will
effectively be hard-coded to true. (markt)
+ Fix: Ensure the security constraint with the longest matching path is
selected when more than one constraint matches the request path. (markt)
+ Fix: If the request saved by FORM authentication uses a method other
than GET, ensure that the security constraints are re-assessed after the
saved request is restored and before it is processed. Custom
Authenticator implementations that extend FormAuthenticator and override
doAuthenticate() and/or restoreRequest() will require modification.
(markt)
+ Fix: Various improvements to the DataSourceRealm. A failure to connect
to the database or an exception during either user or role lookup will
now result in an authentication failure rather than a partially
populated Principal. For CLIENT-CERT and SPNEGO authentication, the user
must exist in the database for authentication to succeed. (markt)
* Coyote
+ Update: Add utility AutoCloseable URLConnection wrapper, and use it to
cleanup existing code patterns. (remm/markt)
+ Fix: When processing an HTTP upgrade from HTTP/1.1 to HTTP/2, ensure
that all the HTTP/1.1 data has been processed before switching
protocols. (markt)
+ Fix: Require every HTTP/2 request to provide an authority (either an
:authority pseudo header or a Host header). (markt)
+ Fix: Register the use of an HTTP/2 stream identifier earlier so that
there is no possibility of a re-used stream identifier being accepted,
regardless of how early in the HEADERS frame processing an error is
detected. (markt)
+ Add: new attributes (unixDomainSocketParentPermissions and
unixDomainSocketParentOwner) to the NIO connector to provide additional
control over the security of Unix Domain Sockets. Additional checks
(enabled by default) have also been added for the directory where the
Unix Domain Socket will be created.(markt)
+ Fix: an allocation leak in the HTTP/2 backlog tracking when a stream is
reset. (markt)
* Jasper
+ Fix: Ensure internal state is reset before re-using ELParser. (markt)
* WebSocket
+ Add: a limit (defaults to 8KB) on the size of the HTTP response headers
accepted during a WebSocket HTTP upgrade. This is configured via the
org.apache.tomcat.websocket.MAX_HTTP_RESPONSE_HEADER_BYTES user
property. (markt)
+ Fix: Improve URI template matching for WebSocket end points. Trailing
slashes are now significant both for template definitions and URIs
considered for potential matches to those URIs. Note that this means if
a URI template ends in a variable without a trailing slash, that
variable might be expanded to the empty string. (markt)
+ Fix: Account for session ID changes when tracking WebSocket connections
for closure because they were created under an authenticated HTTP
session that has since ended. (markt)
* Web applications
+ Fix: Documentation: Better sample httpd configuration for use with
SSLValve and add a note that the exact configuration required will
depend on the overall httpd configuration. (markt)
+ Fix: Examples: Limit the buffering of messages in the WebSocket chat
example to prevent a malicious client triggering excessive memory usage
that could lead to a DoS. (markt)
+ Fix: Documentation: Expand the description of the %S (session ID) access
log pattern token. (markt)
+ Fix: Manager: Use reflection to load clustering classes in
sessionsList.jsp so the sessions list page renders correctly when
clustering JARs are not present. (csutherl)
* Other
+ Update: Maven Resolver Ant Tasks to 1.6.1. (rjung)
+ Update: Objenesis to 3.6. (markt)
+ Update: JSign to 7.5. (markt)
+ Update: Bouncy Castle to 1.85. (markt)
+ Add: Improvements to French translations. (remm)
+ Add: Improvements to Japanese translations provided by tak7iji. (markt)
* Cluster
+ Add: Change the default encryptionAlgorithm for the EncryptInterceptor
to AES/GCM/NoPadding. This is a breaking change for the
EncryptInterceptor. (markt)
+ Add: Expand the documentation for the EncryptInterceptor to be more
explicit regarding the security weaknesses of some supported algorithms.
Also explicitly state that the replay protection is only effective for
non-malleable algorithms. (markt)
+ Add: Expand the Javadoc for the DNSMembershipProvider in particular
explaining its behaviour and providing configuration advice if control
more over cluster membership is required. (markt)
* jdbc-pool
+ Fix: 70164: Correct the documentation for the testOnBorrow attribute.
Pull request #1033 provided by Kohei Tamura. (markt)
Tenable has extracted the preceding description block directly from the SUSE 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://bugzilla.suse.com/1273150");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276893");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276894");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276895");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276896");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276897");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276898");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276899");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276900");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276901");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/1276902");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-32990");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-65182");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-65183");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-65637");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-65905");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-65927");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-66299");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-66422");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-68525");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-68569");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-68763");
script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2026-73180");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
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: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:L");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-66299");
script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2026-32990");
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:"2026/03/20");
script_set_attribute(attribute:"patch_publication_date", value:"2026/09/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/12");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-admin-webapps");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-el-3_0-api");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-embed");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-javadoc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-jsp-2_3-api");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-jsvc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-lib");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-servlet-4_0-api");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:tomcat-webapps");
script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:16.0");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_set_attribute(attribute:"stig_severity", value:"II");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"SuSE Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
exit(0);
}
include('rpm.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/SuSE/release');
if (isnull(os_release) || os_release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, 'openSUSE');
var _os_ver = pregmatch(pattern: "^SUSE([\d.]+)", string:os_release);
if (isnull(_os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'openSUSE');
_os_ver = _os_ver[1];
if (os_release !~ "^(SUSE16\.0)$") audit(AUDIT_OS_RELEASE_NOT, 'openSUSE', '16.0', os_release);
if (!get_kb_item("Host/SuSE/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, 'openSUSE ' + _os_ver, cpu);
var pkgs = [
{'reference':'tomcat-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-admin-webapps-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-el-3_0-api-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-embed-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-javadoc-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-jsp-2_3-api-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-jsvc-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-lib-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-servlet-4_0-api-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE},
{'reference':'tomcat-webapps-9.0.121-160000.1.1', 'release':'SUSE16.0', 'rpm_spec_vers_cmp':TRUE}
];
var flag = 0;
foreach package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var _cpu = NULL;
var rpm_spec_vers_cmp = 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['cpu'])) cpu = package_array['cpu'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (reference && _release) {
if (rpm_check(release:_release, cpu:_cpu, reference:reference, rpm_spec_vers_cmp:rpm_spec_vers_cmp)) 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, 'tomcat / tomcat-admin-webapps / tomcat-el-3_0-api / tomcat-embed / 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
12 Sep 2026 00:00Current
CVSS 3.15.3 - 9.8
EPSS0.0083
SSVC