Uninitialized Capabilities

Sander Huyghebaert, Thomas Van Strydonck, Steven Keuchel, Dominique Devriese

Research output: Book/ReportOther reportResearch

18 Downloads (Pure)


This technical report describes a new extension to capability machines. Capability machines are a special type of processors that include better security primitives at the hardware level. In capability machines, every word has an associated tag bit that indicates whether the value it contains is a capability or a regular data value. Capabilities enable fine-grained control of the authority over memory that program components have. Conceptually, capabilities can be viewed as being an unforgeable token carrying authority over a resource. CHERI is a recently developed capability machine that aims to provide fine-grained memory protection, software compartmentalization and backwards compatibility. While our ideas are implemented on CHERI, they are not limited to it and should be applicable to other capability machines as well. In this technical report we propose a new type of capabilities, which represent the authority to access (read and write to) a block of memory but not view its initial contents. Our main goal is to use this new type of capability as part of a secure calling convention, but other applications may be possible too.
Original languageEnglish
Number of pages8
Publication statusPublished - 2 Jun 2020


  • cs.PL


Dive into the research topics of 'Uninitialized Capabilities'. Together they form a unique fingerprint.

Cite this