| 제목 | tdunning t-digest 3.2 Unvalidated Length Fields Enable Crash |
|---|
| 설명 | I was auditing t-digest 3.2's binary deserialization path for spots where untrusted bytes land directly on an array index or allocation size. MergingDigest.fromBytes(ByteBuffer) reads four attacker-controlled numeric fields (compression, n, bufferSize, lastUsedCell) straight off the wire and uses every one of them without a bounds check, so a handful of crafted bytes is enough to throw NegativeArraySizeException or ArrayIndexOutOfBoundsException before a single real centroid gets parsed. I confirmed the same unvalidated code is still on master today, and found a real consumer — Apache Pinot's star-tree aggregator — that fed this exact method with raw ingested byte[] values with no validation of its own until a July 2026 hardening PR. |
|---|
| 원천 | ⚠️ https://github.com/tdunning/t-digest/issues/227 |
|---|
| 사용자 | Yu Bao from PayPal Cyber Security Team (UID 99838) |
|---|
| 제출 | 2026. 08. 14. AM 03:36 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 09. 14. AM 09:11 (1 month later) |
|---|
| 상태 | 중복 |
|---|
| VulDB 항목 | 402019 [tdunning t-digest 까지 3.3 Serialization MergingDigest.fromBytes capacity 메모리 손상] |
|---|
| 포인트들 | 0 |
|---|