Skip to main content

SQ14120

Detected Windows executable files that do not implement language specific guarded exception handling.

priorityCI/CD statusseverityeffortRL levelRL assessment
passmediummediumNoneNone

About the issueโ€‹

Control Flow Guard (CFG/CFI) protects the code flow integrity by ensuring that indirect calls are made only to vetted functions. This mitigation protects dynamically resolved function targets by instrumenting the code responsible for transferring execution control. Higher level programming languages implement structured exception handling by managing their own code flow execution paths. As such, they are subject to code flow hijacking during runtime. Language-specific exception handling mitigation enforces execution integrity by instrumenting calls to exception code dispatching. Any deviation from the known and trusted code flow paths will cause the application to terminate. This makes malicious code less likely to execute.

How to resolve the issueโ€‹

  • It's highly recommended to enable this option for all software components used at security boundaries, or those that process user-controlled inputs.
  • To enable this mitigation, refer to your programming language toolchain documentation.
  • In Microsoft VisualStudio, you can enable CFG mitigation by passing /guard:cf and /guard:ehcont parameters to the compiler and linker.

Incidence statisticsโ€‹

Not relevant for this type of issue.