Skip to main content

SQ14149

Detected Windows executable files with the entry point residing in headers causing data and code to overlap.

priorityCI/CD statusseverityeffortRL levelRL assessment
failhighmedium5hardening: fail
Reason: critical code linking issues

About the issueโ€‹

Windows executable files 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. However, the operating system does not differentiate between memory locations found within sections and headers. It is therefore possible to instruct the operating system to begin the code execution from a memory address residing within the headers. Since the header is intended to be a read-only data memory region, any code execution from there should be strictly prohibited. Having dual-use memory regions violates the code and data separation policies. This issue is typically reported when a software publisher uses a low quality executable packing solution.

How to resolve the issueโ€‹

  • You should deprecate the use of runtime packers, or enforce digital rights management via less intrusive ways that preserve compatibility with vulnerability mitigation options.

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