Skip to main content

CVE-2022-39199: CWE-345: Insufficient Verification of Data Authenticity in codenotary immudb

Medium
Published: Tue Nov 22 2022 (11/22/2022, 00:00:00 UTC)
Source: CVE
Vendor/Project: codenotary
Product: immudb

Description

immudb is a database with built-in cryptographic proof and verification. immudb client SDKs use server's UUID to distinguish between different server instance so that the client can connect to different immudb instances and keep the state for multiple servers. SDK does not validate this uuid and can accept any value reported by the server. A malicious server can change the reported UUID tricking the client to treat it as a different server thus accepting a state completely irrelevant to the one previously retrieved from the server. This issue has been patched in version 1.4.1. As a workaround, when initializing an immudb client object a custom state handler can be used to store the state. Providing custom implementation that ignores the server UUID can be used to ensure that even if the server changes the UUID, client will still consider it to be the same server.

AI-Powered Analysis

AILast updated: 06/22/2025, 15:21:34 UTC

Technical Analysis

CVE-2022-39199 is a vulnerability identified in immudb, a database designed with built-in cryptographic proof and verification mechanisms to ensure data integrity and authenticity. The issue arises from the immudb client SDKs' handling of the server's UUID, which is intended to uniquely identify different immudb server instances. This UUID allows the client to maintain distinct states for multiple servers. However, the SDK does not validate the authenticity of the UUID provided by the server and will accept any UUID value reported. Consequently, a malicious or compromised server can manipulate the UUID it reports to the client, causing the client to mistakenly treat the server as a different instance. This leads the client to accept and maintain a state that is unrelated to the actual previous state retrieved from the server, effectively breaking the trust model and potentially allowing state confusion or data integrity issues. The vulnerability is classified under CWE-345, which concerns insufficient verification of data authenticity. The flaw was patched in immudb version 1.4.1. As a workaround, users can implement a custom state handler during client initialization that ignores the server UUID, ensuring that even if the server changes the UUID, the client continues to treat it as the same server, preserving state consistency. There are no known exploits in the wild at this time. The vulnerability does not require user interaction but does require the client to connect to a malicious server instance. The impact primarily affects the integrity and trustworthiness of the client-server state synchronization in immudb deployments prior to version 1.4.1.

Potential Impact

For European organizations using immudb versions prior to 1.4.1, this vulnerability could undermine the integrity guarantees that immudb provides. Since immudb is used to ensure cryptographically verifiable data storage, a malicious server exploiting this flaw could cause clients to accept incorrect or unrelated states, potentially leading to data corruption, loss of audit trail integrity, or erroneous application behavior relying on immudb data. This could be particularly impactful in sectors where data immutability and auditability are critical, such as finance, healthcare, supply chain, and government services. The inability to verify the server UUID could also facilitate more complex attacks involving state manipulation or replay attacks, eroding trust in the system. However, since exploitation requires a malicious or compromised server instance, the risk is higher in multi-tenant or distributed environments where clients connect to multiple immudb servers, or where server compromise is plausible. The vulnerability does not directly affect confidentiality or availability but primarily threatens data integrity and authenticity, which are core to immudb's security model. Organizations relying on immudb for compliance or regulatory requirements related to data integrity could face compliance risks if this vulnerability is exploited.

Mitigation Recommendations

1. Upgrade immudb to version 1.4.1 or later immediately to apply the official patch addressing this vulnerability. 2. If immediate upgrade is not feasible, implement a custom state handler in the immudb client SDK that ignores the server UUID during client initialization, ensuring consistent state tracking regardless of server-reported UUID changes. 3. Restrict immudb client connections to trusted and verified server instances only, employing network segmentation, firewall rules, and mutual authentication where possible to reduce the risk of connecting to malicious servers. 4. Monitor immudb server logs and client behavior for anomalies indicative of UUID changes or unexpected state resets. 5. Incorporate additional application-level integrity checks or cross-validation mechanisms to detect inconsistencies in data states retrieved from immudb. 6. Conduct regular security audits and penetration testing focused on immudb deployments to identify potential misconfigurations or vulnerabilities. 7. Educate developers and system administrators about the importance of validating server identities and the risks associated with insufficient verification of data authenticity in distributed systems.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitHub_M
Date Reserved
2022-09-02T00:00:00.000Z
Cisa Enriched
true

Threat ID: 682d9845c4522896dcbf4811

Added to database: 5/21/2025, 9:09:25 AM

Last enriched: 6/22/2025, 3:21:34 PM

Last updated: 8/9/2025, 5:30:45 PM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats