Skip to main content

SQ14143

Detected Windows executable files that have a BSS region with executable attributes.

priorityCI/CD statusseverityeffortRL levelRL assessment
passhighmediumNonehardening: warning
Reason: outdated toolchain 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. Block Starting Symbol (BSS) is a section of memory whose contents are reserved for variables that get their initial values assigned during runtime. Access rights for this section should not include the ability to execute stored data as code, with the accounted exception of incremental linking that merges code and data segments for improved build times. Using unsafe 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.
  • If you use incremental builds during development, the release image should be built in a single linker pass.

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
  • .bss (External resource - Wikipedia)