Il conteggio dei riferimenti è una tecnica di gestione della memoria che tiene traccia di quante parti di un programma o di un sistema dipendono ancora da una risorsa. Quando il conteggio raggiunge zero, la risorsa può essere liberata. Nel codice del kernel, i contatori possono tenere traccia dei riferimenti a oggetti come la memoria condivisa o altre strutture dati.
Conteggi dei riferimenti errati possono causare bug di sicurezza. Se il conteggio diventa troppo basso, il kernel potrebbe liberare un oggetto ancora in uso, creando un accesso a memoria già liberata che gli aggressori potrebbero sfruttare per corrompere la memoria o ottenere privilegi. Se resta troppo alto, le risorse potrebbero rimanere allocate e sprecare memoria. Le misure di difesa includono aggiornamenti accurati dei contatori, gestione sicura di overflow e underflow, revisione del codice, test e applicazione tempestiva delle patch del kernel.


