dr.-ing. jaseg on Nostr: I've stumbled upon a really cool leakage path for secret data while working on my ...
I've stumbled upon a really cool leakage path for secret data while working on my ashen open-source hsm stack. As part of ashen, I'm patching the linux kernel to delete secret keys when it panics. While testing that code, I noticed that bits of keys were left over in kernel memory despite both the kernel and my userspace test code wiping all of their buffers. It turns out when memcpy'ing the keys, residue remains in ARM64 SIMD registers, which then end up in the kernel's task_struct.
Published at
2026-08-10 16:00:22 UTCEvent JSON
{
"id": "a19110403b002b2cdf1c27bf790ccb13d0269be2be758ef32b0d230a776ded33",
"pubkey": "67d33e09833138b461f55906e61b3fc73def411a5882406ddb6eb1a9253bfca3",
"created_at": 1786377622,
"kind": 1,
"tags": [
[
"proxy",
"https://chaos.social/@jaseg/117072043873888783",
"web"
],
[
"proxy",
"https://chaos.social/users/jaseg/statuses/117072043873888783",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://chaos.social/users/jaseg/statuses/117072043873888783",
"pink.momostr"
],
[
"-"
]
],
"content": "I've stumbled upon a really cool leakage path for secret data while working on my ashen open-source hsm stack. As part of ashen, I'm patching the linux kernel to delete secret keys when it panics. While testing that code, I noticed that bits of keys were left over in kernel memory despite both the kernel and my userspace test code wiping all of their buffers. It turns out when memcpy'ing the keys, residue remains in ARM64 SIMD registers, which then end up in the kernel's task_struct.",
"sig": "6cd2a9aea828085c119a19330ed7440673832880bc9492b0d966657849d39394281a385e46f10863778abd24e68cc8837f742dbb925faca1c74c6aed0b962678"
}