F5 Labs releases canary exploit tool for Apache Parquet Java CVE-2025-30065 (CVSS 10) and assesses real-world risk as limited
F5 Labs published a "canary exploit" generator for CVE-2025-30065, a CVSS 10.0 flaw in the Apache Parquet Java parquet-avro Maven module. The tool lets defenders test whether their environments are vulnerable and confirm that patches and configuration are effective. F5's analysis finds the flaw far less severe than the CVSS score and early rumors suggested. It allows only arbitrary class loading and instantiation of classes with a single-String constructor, not general deserialization-based RCE. The article reports no in-the-wild exploitation. Exploitation is judged difficult and of low value to attackers, but Parquet's ubiquity in big data and AI/ML pipelines still justifies checking exposure.
Technical Details
- Root cause: unrestricted Java class references for String coercion when
parquet-avroreads Avro schemas embedded in Parquet files. Versions 1.15.0 and earlier are affected. - Malicious Avro content is limited to primitive types and collections. The attacker can only instantiate classes already on the target's classpath whose constructor takes a single String. Impact therefore depends on useful side effects or existing gadgets on the classpath.
- The F5 canary file instantiates
javax.swing.JEditorKitwith a String that is treated as a URL, which triggers an HTTP GET to a registered canary URL and proves the vulnerable code path. The tool is on GitHub (F5-Labs/parquet-canary-exploit-rce-poc-CVE-2025-30065), with setup instructions for Linux, Windows and Mac. PoC internals are credited to Mouad Kondah. - Timeline: Apache Avro added a trusted-packages allow list (
org.apache.avro.TRUSTED_PACKAGES) in release 1.11.4 on 2024-08-05, with no CVE issued. The same hardening was added to parquet-avro on 2025-03-07 and shipped in a release announced 2025-03-16. The CVE was announced on oss-security on 2025-04-01, crediting Keyi Li of Amazon. F5 notes the inconsistency that Parquet received a CVE while Avro did not for the same behavior. - Speculated attack scenarios (not observed): poisoned datasets on public repositories (watering hole), mass social engineering, and spear-phishing of developers running a vulnerable stack.
Remediation
- Test exposure with the F5 Labs canary tool.
- Upgrade to the fixed Apache Parquet Java release (the article cites "15.1.1") and set
org.apache.parquet.avro.SERIALIZABLE_PACKAGESto restrict allowed packages. Avoid the wildcard*, which negates the allow list. - Audit transitive dependencies for older
parquet-avroversions using Mavendependency:treeor Gradledependencies. - Avoid processing Parquet files from untrusted sources and train staff on the risks of ingesting untrusted data.
Linha do tempo
-
F5 Labs releases canary exploit tool for Apache Parquet Java CVE-2025-30065 (CVSS 10) and assesses real-world risk as limited
ler a análise desta fonte ocultar
F5 Labs published a "canary exploit" generator for CVE-2025-30065, a CVSS 10.0 flaw in the Apache Parquet Java
parquet-avroMaven module. The tool lets defenders test whether their environments are vulnerable and confirm that patches and configuration are effective. F5's analysis finds the flaw far less severe than the CVSS score and early rumors suggested. It allows only arbitrary class loading and instantiation of classes with a single-String constructor, not general deserialization-based RCE. The article reports no in-the-wild exploitation. Exploitation is judged difficult and of low value to attackers, but Parquet's ubiquity in big data and AI/ML pipelines still justifies checking exposure.Technical Details
- Root cause: unrestricted Java class references for String coercion when
parquet-avroreads Avro schemas embedded in Parquet files. Versions 1.15.0 and earlier are affected. - Malicious Avro content is limited to primitive types and collections. The attacker can only instantiate classes already on the target's classpath whose constructor takes a single String. Impact therefore depends on useful side effects or existing gadgets on the classpath.
- The F5 canary file instantiates
javax.swing.JEditorKitwith a String that is treated as a URL, which triggers an HTTP GET to a registered canary URL and proves the vulnerable code path. The tool is on GitHub (F5-Labs/parquet-canary-exploit-rce-poc-CVE-2025-30065), with setup instructions for Linux, Windows and Mac. PoC internals are credited to Mouad Kondah. - Timeline: Apache Avro added a trusted-packages allow list (
org.apache.avro.TRUSTED_PACKAGES) in release 1.11.4 on 2024-08-05, with no CVE issued. The same hardening was added to parquet-avro on 2025-03-07 and shipped in a release announced 2025-03-16. The CVE was announced on oss-security on 2025-04-01, crediting Keyi Li of Amazon. F5 notes the inconsistency that Parquet received a CVE while Avro did not for the same behavior. - Speculated attack scenarios (not observed): poisoned datasets on public repositories (watering hole), mass social engineering, and spear-phishing of developers running a vulnerable stack.
Remediation
- Test exposure with the F5 Labs canary tool.
- Upgrade to the fixed Apache Parquet Java release (the article cites "15.1.1") and set
org.apache.parquet.avro.SERIALIZABLE_PACKAGESto restrict allowed packages. Avoid the wildcard*, which negates the allow list. - Audit transitive dependencies for older
parquet-avroversions using Mavendependency:treeor Gradledependencies. - Avoid processing Parquet files from untrusted sources and train staff on the risks of ingesting untrusted data.
- Root cause: unrestricted Java class references for String coercion when