Skip to content

[arrow-data] Integer overflow in ArrayData::slice leads to undefined behavior #9899

@ksj1230

Description

@ksj1230

Description

This issue was previously reported privately and is now being disclosed following coordination with maintainers.

ArrayData::slice() computes offset + length without overflow checking.
When the sum wraps, the bounds check may pass, leading to an inconsistent internal state.

This can result in a potential out-of-bounds read via safe Rust APIs.

Fix

See PR #9813

Reported by Sungjin Kim (@ksj1230)

Metadata

Metadata

Assignees

No one assigned

    Labels

    arrowChanges to the arrow crate

    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