CVE Vulnerabilities

CVE-2024-43383

Deserialization of Untrusted Data

Published: Oct 31, 2024 | Modified: Feb 11, 2025
CVSS 3.x
8.1
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu

Deserialization of Untrusted Data vulnerability in Apache Lucene.Net.Replicator.

This issue affects Apache Lucene.NETs Replicator library: from 4.8.0-beta00005 through 4.8.0-beta00016.

An attacker that can intercept traffic between a replication client and server, or control the target replication node URL, can provide a specially-crafted JSON response that is deserialized as an attacker-provided exception type. This can result in remote code execution or other potential unauthorized access.

Users are recommended to upgrade to version 4.8.0-beta00017, which fixes the issue.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

Name Vendor Start Version End Version
Lucene.net Apache 4.8.0-beta00005 (including) 4.8.0-beta00005 (including)
Lucene.net Apache 4.8.0-beta00006 (including) 4.8.0-beta00006 (including)
Lucene.net Apache 4.8.0-beta00007 (including) 4.8.0-beta00007 (including)
Lucene.net Apache 4.8.0-beta00008 (including) 4.8.0-beta00008 (including)
Lucene.net Apache 4.8.0-beta00009 (including) 4.8.0-beta00009 (including)
Lucene.net Apache 4.8.0-beta00010 (including) 4.8.0-beta00010 (including)
Lucene.net Apache 4.8.0-beta00011 (including) 4.8.0-beta00011 (including)
Lucene.net Apache 4.8.0-beta00012 (including) 4.8.0-beta00012 (including)
Lucene.net Apache 4.8.0-beta00013 (including) 4.8.0-beta00013 (including)
Lucene.net Apache 4.8.0-beta00014 (including) 4.8.0-beta00014 (including)
Lucene.net Apache 4.8.0-beta00015 (including) 4.8.0-beta00015 (including)
Lucene.net Apache 4.8.0-beta00016 (including) 4.8.0-beta00016 (including)

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References