Skip to content

Restore/state paths still accept Java object deserialization #16478

@rdblue

Description

@rdblue

This issue was reported to the private Apache Iceberg security mailing list. The submitter is being kept anonymous because the report was sent to a private list. After review, the issue is not considered a serious vulnerability that needs to be kept private, so it is being filed publicly here for tracking and resolution.

Note: this submission was generated by AI. Please review its claims and source references carefully before acting on them.

Summary

Several Flink restore paths still accept Java object deserialization,
keeping savepoint and checkpoint restore tied to gadget-friendly
formats.

Affected Maven coordinates

  • versioned integration artifacts:
    org.apache.iceberg:iceberg-flink-1.20,
    org.apache.iceberg:iceberg-flink-2.0,
    org.apache.iceberg:iceberg-flink-2.1

Attacker prerequisites

  • a path that delivers untrusted serialized bytes into the affected
    Java deserialization surface
  • the affected Iceberg type on the classpath of the target process

Impact

  • Restoring from tampered or untrusted savepoints/checkpoints expands
    the attack surface to Java deserialization gadgets and unexpected
    class graphs.
  • Even if the deployment treats checkpoint storage as trusted, this
    remains a risky parser choice for a state format boundary.

Proof status

I reproduced this locally with a targeted reproducer or exploit.
The observed result matches the trigger and impact described above.

Key source references

  • org.apache.iceberg.flink.sink.WriteResultSerializer
  • org.apache.iceberg.flink.source.split.IcebergSourceSplit
  • org.apache.iceberg.flink.source.split.IcebergSourceSplitSerializer

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions