Skip to main content

SQ14147

Detected Windows executable files with the entry point residing in a writable section making it possible to change code while executing.

priorityCI/CD statusseverityeffortSAFE levelSAFE assessment
failhighmedium5hardening: fail
Reason: unsafe code linking practices

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. 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. 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. Analysis results are used to calculate incidence statistics for issues (policy violations) that Spectra Assure can detect in software packages.

This section is updated when new data becomes available.

Total amount of packages analyzed

  • RubyGems: 183K
  • Nuget: 644K
  • PyPi: 628K
  • NPM: 3.72M

Total detections per repository

For every repository, the chart shows the number of packages that triggered the software assurance policy. In other words, it shows how many packages in each package repository were found to have the specific issue described on this page. This information helps you understand how common the issue is across different software communities.

If a repository is absent from the chart, that means none of the packages in that repository triggered this policy during analysis, or the policy was not used during analysis.

Distribution of total detections by project popularity

For every repository, the chart shows how many of the total detections belong to the Top 100 (1-100), Top 1000 (101-1000) and Top 10 000 (1001-10 000) most downloaded projects. This information helps you understand the impact of the issue within each community, making it clearer when the issue affects the most popular projects.

If the chart shows zero values for all of the top project groups, that means all detections were in unranked projects (lower than 10 000 on the list of most downloaded projects).