CVE-2026-43825 opennlp vulnerability
Untrusted Java Deserialization in Apache OpenNLP SvmDoccatModel Versions Affected: before 3.0.0-M4 (libsvm document categorization module; introduced in OPENNLP-1808 and only present on the 3.x line) Description: SvmDoccatModel.deserialize(InputStream) reads an attacker-controlled stream with java.io.ObjectInputStream and calls readObject() without an ObjectInputFilter installed. ObjectInputStream materialises every class referenced in the stream before the resulting object is cast to SvmDoccatModel, so the cast that follows readObject() executes only after the foreign object graph has already been deserialised in full. If a Java deserialization gadget chain is available on the consumer's classpath, a crafted payload supplied to deserialize() executes arbitrary code in the JVM that loads it. Apache OpenNLP itself does not ship a known gadget chain, so the realistic risk is to downstream applications that embed the libsvm module alongside vulnerable transitive dependencies. The method is public and static, so any caller can pass an untrusted stream to it directly. The practical impact is remote code execution against processes that load SvmDoccatModel instances from untrusted or semi-trusted origins. Mitigation: 3.x users should upgrade to 3.0.0-M4. Users who cannot upgrade immediately should treat all serialized SvmDoccatModel streams as untrusted input unless their provenance is verified, and should avoid invoking SvmDoccatModel.deserialize() on streams supplied by end users or fetched from third-party sources without integrity checks.
Quick answer
apache opennlp should be reviewed and updated if it matches the affected versions. The recommended fix is to apply the vendor-supported patched version or the mitigation steps below, then retest the public website with Fixnx.
Who is affected
Affected versions
- 3.0.0
Fixed versions
- Apply the latest vendor-supported patched version.
How to fix it
Apache OpenNLP is affected by CVE-2026-43825, a arbitrary code execution risk. Untrusted Java Deserialization in Apache OpenNLP SvmDoccatModel Versions Affected: before 3.0.0-M4 (libsvm document categorization module; introduced in OPENNLP-1808 and only present on the 3.x line) Description: SvmDoccatModel.deserialize(InputStream) reads an attacker-controlled stream with java.io.ObjectInputStream and calls readObject() without an ObjectInputFilter installed. The recommended remediation is to update to Apache OpenNLP 3.0.0-M4 or later for the libsvm document categorization module. Until the update is complete, avoid deserializing untrusted SvmDoccatModel streams and remove the affected libsvm path until patched, review logs, and reduce exposure of the affected service, library, appliance, or trusted firmware path.
- Inventory every deployment, package, appliance, service, application dependency, trusted firmware image, and managed environment that uses Apache OpenNLP.
- Confirm the installed version/build and compare it with listed affected versions include 3.0.0 and the source advisory for CVE-2026-43825.
- Apply the vendor-supported fix: update to Apache OpenNLP 3.0.0-M4 or later for the libsvm document categorization module.
- If the update cannot be applied immediately, avoid deserializing untrusted SvmDoccatModel streams and remove the affected libsvm path until patched; disable unnecessary public access, file processing, authentication integrations, upload endpoints, or high-risk features until patched.
- Review application, appliance, reverse-proxy, WAF, package manager, authentication, trusted firmware, and audit logs for activity related to CVE-2026-43825.
- Rotate sessions, API tokens, service credentials, integration keys, signing keys, and administrator passwords if logs or affected data indicate compromise, code execution, credential exposure, or unauthorized access.
- Clear caches, restart affected services, rebuild affected containers or firmware images when appropriate, and remove temporary files, uploaded artifacts, stored payloads, or unsafe configuration created during exploitation attempts.
Scan now. Google sign-in is only needed to unlock fix guidance.
Verify the fix
- Confirm Apache OpenNLP now reports Apache OpenNLP 3.0.0-M4 or later for the libsvm document categorization module or a later vendor-supported fixed release/build for the deployed branch.
- Verify the affected workflow no longer allows the behavior described in CVE-2026-43825, using a safe regression test, vendor validation method, dependency inventory, or appliance health check.
- Review logs after remediation for continued exploit attempts, authentication anomalies, denial-of-service symptoms, suspicious uploads, file access, deserialization attempts, or configuration changes.
- Rerun a Fixnx scan and any product-specific scanner, package audit, firmware inventory, appliance health check, or manual regression test relevant to the affected service.
- Document affected assets, fixed versions, mitigation decisions, validation evidence, and any cleanup, rebuild, or credential rotation performed.
Related categories
Trusted references
FAQ
What is affected by CVE-2026-43825?
apache opennlp versions listed as affected should be reviewed: 3.0.0.
What should I fix first?
Start with internet-facing sites, admin panels, login flows, plugins, themes, modules, packages, and systems that process user-controlled input or sensitive data.
How do I confirm the fix worked?
Apply the patched version or mitigation, clear caches where relevant, retest the affected workflow, and run a new Fixnx scan to verify public website exposure signals.
How are Fixnx security risk categories chosen?
Fixnx keeps one canonical risk page and assigns only broad, relevant categories such as ecosystem, technology area, or vulnerability class.
