CVE-2026-47065
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk38th percentile - higher than 38% of all known CVEs
Summary
The ZDRES-232 and ZDRES-233 library contains two vulnerabilities: (1) Bypass of acceptMatchers filter via java.lang.reflect.Proxy because resolveProxyClass is not overridden, allowing deserialization of arbitrary proxy classes. (2) Calling Class.forName with static initialization for allow-listed classes can trigger dangerous static initializers.
Risk Assessment
An attacker can bypass deserialization security mechanisms and execute arbitrary code or cause unwanted side effects via static initialization of allowed classes.
Recommendation
Update the ZDRES library to a version where both vulnerabilities are fixed (marked as "Fully addressed").
Related vulnerabilities
- CVE-2026-105484Critical
A vulnerability has been detected in TOTOLINK X6000R 9.4.0cu.652_B20230116. The issue affects the firmware_check function in /cgi-bin/cstecgi.cgi of the UploadFirmwareFile Handler component. Manipulation of the file_name argument leads to OS command injection. The attack can be performed remotely.
- CVE-2026-105763Critical
Twenty is an open-source CRM platform. From 1.20.10 until 2.7.0, the /metadata GraphQL connectedAccounts query returned connectionParameters from ConnectedAccountDTO for every connected account in a workspace, including plaintext IMAP, SMTP, and CalDAV passwords, because the field was not hidden and the lookup did not enforce the calling user's identity or account visibility. A normal workspace member could obtain other members' external-service credentials and use them to access mail or calendars and potentially reset third-party accounts. Google and Microsoft OAuth-only workspaces were not affected. This issue is fixed in version 2.7.0.
- CVE-2026-91107Critical
openSIS Classic 9.3 allows an authenticated user with the built-in teacher role to select an arbitrary staff record through staff_id and cause the School Information update path to reset that selected account's password.
- CVE-2026-21589Critical
An Arbitrary File Access vulnerability in Atlassian products (Bitbucket, Confluence, Crowd, Jira, Bamboo, Crucible, Fisheye) allows an unauthenticated attacker to access specific files within the web application root directory. Exploitation requires prior knowledge of the target file's exact name and path; directory enumeration is not possible. In some configurations, sensitive files may be exposed, making this highly severe.
- CVE-2026-105740Critical
Langflow before 1.9.0 allows any authenticated user to achieve Remote Code Execution (RCE) on the server by adding an MCP server with the "Stdio" transport. The user-supplied command field is passed directly to bash -c "exec {command}" with zero validation, no allowlisting, and no sandboxing. The command executes immediately when the server list is fetched. Additionally, the env field allows arbitrary environment variable injection (e.g., LD_PRELOAD, PATH override).
- CVE-2026-105697Critical
Langflow before 1.10.3 launches whatever command / args a user put in an MCP server configuration, with no allowlist and (before 1.10.3) wrapped in bash -c "exec {command} ...". Any user able to reach the MCP server settings or to build a flow with the MCP Tools component could add a "server" whose command is an arbitrary OS command. The command runs on the Langflow host as the Langflow process user as soon as Langflow tries to connect to the server. With the default LANGFLOW_AUTO_LOGIN=true, GET /api/v1/auto_login hands out a token without credentials, so on an exposed instance running the default configuration this is reachable without an account. With AUTO_LOGIN disabled, any authenticated (non-admin) user can exploit it.
- CVE-2026-105691Critical
Penpot prior to 2.18.0, the SVG exporter places an attacker-controlled text object's fill-color value into a ppmcolormask command string and executes that string through child_process.exec. A user who can edit a file can store shell metacharacters in the fill color and trigger SVG export, causing commands to execute with the exporter service's privileges. The same export can be triggered through a valid public share link to a malicious file.
- CVE-2026-97283Critical
The Advanced Post Manager plugin (from Liquid Web / StellarWP) for WordPress up to version 4.5.5 contains an untrusted data deserialization vulnerability that allows Object Injection.
- CVE-2026-105641Critical
Plane prior to 1.4.0, the deployments/aio/community/ and deployments/cli/community/ manifests provide fixed, publicly known SECRET_KEY and LIVE_SERVER_SECRET_KEY defaults that remain active when operators do not override them. Knowledge of SECRET_KEY enables attackers to forge Django-signed values and compromise accounts or sessions. Knowledge of LIVE_SERVER_SECRET_KEY bypasses live-service authentication on unchanged community deployments.
- CVE-2026-105640Critical
Plane prior to 1.4.0 trusts email addresses returned by Gitea OAuth and by self-managed GitLab OAuth deployments where email confirmation is disabled, without verifying that the provider authenticated ownership of the address. An attacker can set an OAuth identity's unverified provider email to a victim's address, which Plane matches directly to the victim's existing local account. The attacker can then log in to the victim's Plane account without knowing the victim's password. GitHub, GitLab.com, and Google are not affected because those providers return verified email addresses.
Original NVD description (English source)
ZDRES-232: resolveProxyClass Not Overridden - acceptMatchers Filter Bypass via java.lang.reflect.Proxy Assessment: Fully addressed. When the serialised stream contains a TC_PROXYCLASSDESC (the marker for a java.lang.reflect.Proxy ), JDK’s ObjectInputStream.readProxyDesc() is dispatched. JDK then calls the default ObjectInputStream.resolveProxyClass(interfaces) implementation, which performs Class.forName(intf, false, latestUserDefinedLoader()) for EACH interface name and constructs the proxy class — bypassing the accepted classes list . ZDRES-233: Class.forName(name, initialize=true, classLoader) in readClassDescriptor Triggers Static Initialiser of Allow-Listed Classes Assessment: Fully addressed. For ANY class on the allow-list, deserialising a stream that names it triggers the class’s (static initialiser) BEFORE any instance is constructed. This means an attacker who supplies a class name on the allow-list (e.g., the developer wrote accept(“com.myapp.*") , attacker supplies com.myapp.SomeClass ) causes <clinit> of SomeClass — and many real-world classes have side-effecting static initialisers Both issues have been fixed.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

