Lucene search
+L

openSUSE 16: tomcat / tomcat-admin-webapps / tomcat-el-3_0-api / tomcat-embed / etc (openSUSE-SU-2026:21823-1)

🗓️ 12 Sep 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

Tomcat 9.0.121 fixes multiple CVEs including security constraint bypass and DoS.

Related
Refs
Code
ReporterTitlePublishedViews
Family
ibm
IBM Security Bulletins
Security Bulletin: IBM Watson Discovery Cartridge affected by vulnerability in tomcat-embed-core-11.0.18.jar
13 May 202616:45
ibm
ibm
IBM Security Bulletins
Security Bulletin: IBM Integration Bus for z/OS is vulnerable to multiple vulnerabilities due to Apache Tomcat
14 May 202614:09
ibm
ibm
IBM Security Bulletins
Security Bulletin: Multiple vulnerabilities found in CICS Transaction Gateway for Multiplatforms.
9 Sep 202609:46
ibm
ibm
IBM Security Bulletins
Security Bulletin: IBM Watson Speech Services Cartridge is vulnerable to multiple issues in tomcat-embed-core [CVE-2026-24880, CVE-2026-25854, CVE-2026-29129, CVE-2026-29145, CVE-2026-29146, CVE-2026-32990, CVE-2026-34483, CVE-2026-34487, CVE-2026-3450]
18 Jun 202619:57
ibm
ibm
IBM Security Bulletins
Security Bulletin: IBM Db2 Developer Extension is affected by vulnerability in tomcat-embed-core (CVE-2026-25854, CVE-2026-29129, CVE-2026-29145, CVE-2026-29146, CVE-2026-32990)
10 Aug 202613:49
ibm
ibm
IBM Security Bulletins
Security Bulletin: The Apache Tomcat application server that is shipped with IBM ApplinX is vulnerable to multiple vulnerabilities.
16 Jun 202617:54
ibm
ibm
IBM Security Bulletins
Security Bulletin: Vulnerability in Apache Tomcat affects IBM watsonx Assistant Cartridge and IBM watsonx Orchestrate with watsonx Assistant Cartridge.
22 Jun 202613:42
ibm
ibm
IBM Security Bulletins
Security Bulletin: IBM Watson Discovery Cartridge affected by vulnerabilities in tomcat-embed-core-9.0.115.jar
23 Jun 202612:39
ibm
ibm
IBM Security Bulletins
Security Bulletin: Vulnerability in Apache Tomcat affects IBM watsonx Assistant Cartridge and IBM watsonx Orchestrate with watsonx Assistant Cartridge.
22 Jun 202613:41
ibm
ibm
IBM Security Bulletins
Security Bulletin: MongoDB Enterprised Advanced affected by: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling'), URL Redirection to Untrusted Site ('Open Redirect'), and 3 more (CVE-2026-24880, CVE-2026-25854, and 3 more)
16 Jun 202614:13
ibm
Rows per page
#%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
2