Anthropics Rust-baserte protobuf-bibliotek buffa har en sårbarhet, sporet som CVE-2026-55407, som lar en angriper tvinge fram ukontrollert minneallokering. Sikkerhetsselskapet Endor Labs fant hullet da deres KI-baserte SAST-motor sporet en mistenkelig dataflyt i dekoderen for ukjente felter. Feilen rammer buffa og connectrpc før versjon 0.8.0 og er scoret CVSS 6.3 (moderat), men effekten kan skaleres til høy eller kritisk avhengig av oppsett.
Kjernen er en forsterkningseffekt. Det billigste nøstede feltet kan kodes i to byte, men hvert felt utløser rundt 40 byte heap-allokering. Endor Labs' proof-of-concept viste at en protobuf-melding på 64 MiB kunne drive minnebruken til rundt 1,4 GiB, omtrent 22 ganger inndataen. Kjørt i en Docker-container med 256 MiB minnegrense ble prosessen drept med exit-kode 137, en klassisk out-of-memory.
Den sårbare kodestien nås via buffas standard dekoder-APIer med preserve_unknown_fields påslått, som er standarden. Enhver tjeneste som dekoder upålitelige protobuf-meldinger, er dermed potensielt eksponert.
Hva bør du gjøre?
- Oppdater buffa og connectrpc til 0.8.0, som innfører en konfigurerbar grense på antall ukjente felter per melding.
- Kan du ikke oppgradere med en gang, regenerer koden med preserve_unknown_fields=false for å fjerne den sårbare stien.
- Ikke stol på størrelsesgrenser alene: forsterkningen gjør at en tilsynelatende trygg meldingsstørrelse kan bli prosessdrepende.
Saken er også et signal om at KI-drevet kodeanalyse nå finner logikkfeil som mønsterbaserte verktøy overser, selv i minnetrygg Rust.