CVE-2026-70410
Received Received - Intake

Unsafe Reflection in Apache Calcite Avatica

Vulnerability report for CVE-2026-70410, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-22

Last updated on: 2026-09-22

Assigner: Apache Software Foundation

Description

Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in Apache Calcite Avatica. Plugin instantiation (via AvaticaUtils#instantiatePlugin and other methods) initializes arbitrary classes via unrestricted calls to Class.forName(String) which by default triggers initialization. This may lead to the execution of static initializer blocks in arbitrary classes present in the classpath. The instantiation APIs should initialize and instantiate only classes implementing the specified plugin interface passed as input in conjunction with the desired classname. At the moment of writing, there are no well-known or widely used classes with dangerous static initializer blocks so the severity is low. This issue affects Apache Calcite Avatica: before 1.29.0. Users are recommended to upgrade to version 1.29.0, which fixes the issue.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-22
Last Modified
2026-09-22
Generated
2026-09-22
AI Q&A
2026-09-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
apache calcite_avatica to 1.29.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-470 The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves unsafe reflection in Apache Calcite Avatica where arbitrary classes can be initialized via Class.forName(String). This allows execution of static initializer blocks in classes present in the classpath. The issue occurs because the plugin instantiation APIs do not restrict classes to those implementing a specified plugin interface.

Detection Guidance

Detecting this vulnerability requires checking the version of Apache Calcite Avatica in use. Commands like 'find / -name "avatica*.jar" 2>/dev/null' or checking dependency files (e.g., Maven's pom.xml or Gradle's build.gradle) for the vulnerable version (before 1.29.0) can help identify exposure.

Impact Analysis

The impact is limited due to the lack of widely used classes with dangerous static initializer blocks. However, an attacker with access could potentially execute malicious code if such classes exist in the classpath. Upgrading to version 1.29.0 or later mitigates this risk.

Mitigation Strategies

Upgrade Apache Calcite Avatica to version 1.29.0 or later immediately. This can be done via dependency managers like Maven or Gradle by updating the version in configuration files and rebuilding the project.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-70410. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart