Skip to content

Ignore collector library environment variables in privilege-elevated processes - #246

Open
eparshut wants to merge 6 commits into
intel:masterfrom
eparshut:sdl_fix
Open

Ignore collector library environment variables in privilege-elevated processes#246
eparshut wants to merge 6 commits into
intel:masterfrom
eparshut:sdl_fix

Conversation

@eparshut

@eparshut eparshut commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

INTEL_LIBITTNOTIFY64 env var is passed straight to dlopen()/LoadLibraryA() when __itt_api_init is called, so an unprivileged local user can inject a library into any privileged process linking ITT API.

Added __itt_is_secure_execution_context() method that does:

  • getauxval(AT_SECURE) on Linux/Android
  • issetugid() on macOS/BSD
  • getuid() != geteuid() || getgid() != getegid() as fallback
  • returns 0 on Windows

When true, we skip environment read by__itt_get_env_var(), so init_ittlib() never calls dlopen
Same pattern in the JIT agent loader and the Advisor annotation headers.

@eparshut
eparshut marked this pull request as ready for review September 4, 2026 12:28
@eparshut
eparshut requested a review from a team September 4, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant