Software Version Numbers

Software version information for commercial off-the-shelf (COTS), open-source software (OSS), firmware, operating systems, libraries, middleware, bootloaders, software-defined radios, and other software-enabled components used in spacecraft and ground systems must be protected from unauthorized or unnecessary disclosure. Exact component versions can allow adversaries to correlate an identified product or library with public vulnerability databases, vendor advisories, exploit repositories, known configuration weaknesses, and software-specific backdoor or supply-chain opportunities. Version information may be exposed directly through telemetry fields, network and service banners, diagnostic commands, management interfaces, error messages, log outputs, crash reports, configuration files, package manifests, filenames, firmware headers, debug symbols, update metadata, and publicly released documentation. Versions may also be inferred indirectly through protocol behavior, command responses, file hashes, default configurations, timing characteristics, or software-specific error conditions. These disclosure paths should be identified and controlled according to mission risk. Authoritative version information must remain available through controlled mechanisms to authorized developers, maintainers, operators, assessors, and incident responders. CM0007 is intended to limit unauthorized disclosure of exact software versions, not to eliminate internal software identification, configuration tracking, or diagnostic capability. Version-number protection increases the effort required for adversary reconnaissance but does not prevent active fingerprinting or mitigate vulnerabilities present in the software.

ID: CM0007
Tier: I
Ground CM 
Created: 2022/10/19
Last Modified: 2026/08/06

Pre-Operations Government

Acquisition requirements should mandate that contractors identify and control mechanisms through which exact software version information could be disclosed to unauthorized users, including telemetry fields, network service banners, diagnostic outputs, error messages, log outputs, update interfaces, and publicly accessible technical artifacts. Requirements should distinguish between unauthorized external disclosure and authorized operational access. The system should suppress or generalize unnecessary version information exposed through unauthenticated or broadly accessible interfaces while preserving accurate version information through authenticated, access-controlled maintenance, configuration-management, and diagnostic mechanisms. Where operations require a software identifier in routine telemetry, the system may expose an opaque build identifier, approved mission release identifier, or other controlled reference rather than the exact versions of underlying components. Requirements should apply to both spacecraft flight software and ground system software, and should be flowed down to subcontractors and component suppliers who integrate COTS or OSS into deliverable systems. Contract language should require authoritative software version records to remain available through approved, access-controlled configuration and maintenance mechanisms. Detailed software inventories and SBOM requirements should be addressed under CM0012, while CM0007 should govern whether and how exact version information is exposed through delivered system interfaces, documentation, and operational outputs. Verification should inspect telemetry definitions, interface control documents, command dictionaries, service configurations, diagnostic interfaces, firmware headers, log formats, error responses, update interfaces, and publicly releasable documentation for unnecessary version disclosure. Testing should probe accessible interfaces from unauthenticated and least-privileged contexts to determine whether exact versions can be obtained directly or inferred through banners, response formats, error conditions, metadata, protocol behavior, or diagnostic commands. Verification should also confirm that authorized personnel can retrieve accurate version information through approved, access-controlled maintenance or diagnostic mechanisms. These activities should occur during software and hardware integration, security testing, acceptance testing, and other mission-defined verification events.

Pre-Operations Developer/Supplier

Software architects and developers should audit all external-facing interfaces, including telemetry downlink definitions, ground support equipment interfaces, diagnostic ports, network service configurations, and error logging outputs, at the design stage to identify every location where software version strings could be exposed. Default behaviors of COTS and OSS components that broadcast version information, such as network service banners and verbose error responses, should be disabled or suppressed as a baseline configuration requirement rather than a post-integration hardening step. Exact version information required for authorized maintenance, configuration identification, compatibility verification, and anomaly resolution should be retained through controlled internal mechanisms. Version strings exposed through operational interfaces, routine telemetry, banners, filenames, error outputs, or public artifacts should be removed, generalized, replaced with an opaque mission identifier, or restricted to authenticated users when the exact version is not operationally necessary. Version-disclosure controls shall not interfere with secure boot, software update compatibility checks, fault isolation, anomaly resolution, configuration identification, or authorized maintenance. Exact version information should remain accessible to authorized personnel even when it is suppressed or generalized on externally accessible interfaces. Internal version records should be protected according to their mission sensitivity and made available only to personnel and systems with an authorized need. Detailed SBOM creation, dependency tracking, and software inventory management should be implemented under CM0012 and related configuration-management countermeasures.