RFR: 8366833: Poly1305 does not always correctly update position for array-backed ByteBuffers after processMultipleBlocks [v2]
Jaikiran Pai
jpai at openjdk.org
Thu Sep 4 13:03:45 UTC 2025
On Thu, 4 Sep 2025 06:16:05 GMT, Jamil Nimeh <jnimeh at openjdk.org> wrote:
>> This fix resolves an issue where the `Cipher.updateAAD(ByteBuffer)` method, when used on a ChaCha20-Poly1305 Cipher, may throw an exception due to an offset calculation error. This occurs when the ByteBuffer is array-backed, and when the buffer passed into the method is a slice of another array-backed buffer and that slice begins at a non-zero offset in the parent ByteBuffer.
>>
>> Credit and thanks to @jaikiran for finding the issue and providing reproducer code.
>
> Jamil Nimeh has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove unneeded comments
Thank you for the fix Jamil. This looks good to me. I've built and verified this patch against the original testsuite which reproduced this issue and it now passes with this fix.
-------------
Marked as reviewed by jpai (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/27081#pullrequestreview-3185153570
More information about the security-dev
mailing list