Skip to content
BSD syscall#439

svc · unix #439

kas_info

Returns the kernel address space layout slide and segment information.

Prototype

int kas_info(int selector, void *value, size_t *size);

Returns: int

Arguments

NameTypeDirDescription
selectorint-
valuevoid-
sizesize_t-

Version history

XNU tagmacOS#
xnu-2050.18.24macOS 10.8 Mountain Lion439
xnu-2422.115.4macOS 10.9 Mavericks439
xnu-2782.40.9macOS 10.10 Yosemite439
xnu-3247.1.106macOS 10.11 El Capitan439
xnu-3789.1.32macOS 10.12 Sierra439
xnu-4570.1.46macOS 10.13 High Sierra439
xnu-4903.221.2macOS 10.14 Mojave439
xnu-6153.11.26macOS 10.15 Catalina439
xnu-7195.50.7.100.1macOS 11.0 Big Sur439
xnu-8019.41.5macOS 12.0 Monterey439
xnu-8792.41.9macOS 13.0 Ventura439
xnu-10002.1.13macOS 14.0 Sonoma439
xnu-11215.1.10macOS 15.0 Sequoia439
xnu-11417.101.15macOS 15.4 Sequoia439
xnu-12377.1.9macOS 26.0 Tahoe439
xnu-10002.41.9439
xnu-10002.61.3439
xnu-10002.81.5439
xnu-10063.101.15439
xnu-10063.121.3439
xnu-10063.141.1439
xnu-11215.41.3439
xnu-11215.61.5439
xnu-11215.81.4439
xnu-11417.121.6439
xnu-11417.140.69439
xnu-12377.101.15439
xnu-12377.41.6439
xnu-12377.61.12439
xnu-12377.81.4439
xnu-2050.22.13439
xnu-2050.24.15439
xnu-2050.48.11439
xnu-2050.7.9439
xnu-2050.9.2439
xnu-2422.1.72439
xnu-2422.100.13439
xnu-2422.110.17439
xnu-2422.90.20439
xnu-2782.1.97439
xnu-2782.10.72439
xnu-2782.20.48439
xnu-2782.30.5439
xnu-3247.10.11439
xnu-3248.20.55439
xnu-3248.30.4439
xnu-3248.40.184439
xnu-3248.50.21439
xnu-3248.60.10439
xnu-3789.21.4439
xnu-3789.31.2439
xnu-3789.41.3439
xnu-3789.51.2439
xnu-3789.60.24439
xnu-3789.70.16439
xnu-4570.20.62439
xnu-4570.31.3439
xnu-4570.41.2439
xnu-4570.51.1439
xnu-4570.61.1439
xnu-4570.71.2439
xnu-4903.231.4439
xnu-4903.241.1439
xnu-4903.270.47439
xnu-6153.101.6439
xnu-6153.121.1439
xnu-6153.141.1439
xnu-6153.41.3439
xnu-6153.61.1439
xnu-6153.81.5439
xnu-7195.101.1439
xnu-7195.121.3439
xnu-7195.141.2439
xnu-7195.60.75439
xnu-7195.81.3439
xnu-8019.61.5439
xnu-8019.80.24439
xnu-8020.101.4439
xnu-8020.121.3439
xnu-8020.140.41439
xnu-8792.61.2439
xnu-8792.81.2439
xnu-8796.101.5439
xnu-8796.121.2439
xnu-8796.141.3439

Notes

kas_info(selector, ptr, size) supports KAS_INFO_KERNEL_TEXT_SLIDE_SELECTOR (the KASLR slide) and KAS_INFO_KERNEL_SEGMENT_VMADDR_SELECTOR (per-segment virtual addresses). On production kernels it requires root and the kernel's lockdown flag must allow it; on a developer kernel it is broadly accessible. Disclosing the slide trivially defeats KASLR, so the syscall is heavily restricted on iOS and Apple Silicon Macs with SIP enabled.

Detection

Any successful kas_info on a SIP-enabled machine from a non-Apple binary is a high-confidence kernel-exploit precursor. Hook via DTrace fbt::kas_info:entry; ES has no dedicated event.

Related APIs

host_statisticstask_infokernelrpc_mach_vm_readcsr_check