SQ14148
Detected Windows driver files with the entry point residing in a writable section making it possible to change code while executing.
priority | CI/CD status | severity | effort | RL level | RL assessment |
---|---|---|---|---|---|
pass | high | medium | None | hardening: warning Reason: outdated toolchain issues |
About the issueโ
Windows kernel drivers are mapped in memory as a sequence of allocated pages. The pages are grouped into sections with defined access rights. Main executable code section is referenced by the entry point address. When the entry point section requests a combination of write and execute access rights attributes, it gets allowed to self-modify its code during runtime. Vulnerability mitigations are implemented with the assumption that the executable code sections are read-only, or immutable. Using unsafe executable section access rights may lead to exposing critical security data to overwrites, tampering, and complete bypasses of vulnerability mitigations. Older programming language toolchains are known to compile drivers with self-modifying initialization sections.
How to resolve the issueโ
- Although the risk in this case is limited, it is recommended to re-compile the affected driver with a newer toolchain version.
Incidence statisticsโ
ReversingLabs periodically collects and analyzes the contents of popular software package repositories for threat research purposes.
For every repository, the chart shows the percentage of projects that triggered the software assurance policy. In other words, it shows how many projects were found to have the specific issue described on this page.
The percentages are calculated from the total amount of packages analyzed:
- RubyGems: 174K
- Nuget: 189K
- PyPi: 403K
- NPM: 2.1M
Recommended readingโ
- Kernel (External resource - Microsoft)
- Access Rights (External resource - SOFFRONT)
- Entry point (External resource - Wikipedia)