Code Signing Myths: Why a Valid Digital Signature Does Not Equal File Safety
Digital signatures are frequently treated as proof that a file is trustworthy. In practice they answer a narrower question: the file was produced by a named publisher at a specific moment and has not been altered since. They do not state that the file is safe today, that the signer is still the legitimate owner of the key, or that the key has never been stolen.
Attackers obtain usable certificates through several non-cryptographic routes. A private key left on a CI build agent can be exfiltrated during a compromise, exactly as occurred with the Stuxnet samples signed by certificates stolen from Realtek and JMicron. Supply-chain attacks such as ShadowHammer against ASUS Live Update in 2019 replaced payload contents while preserving the original publisher signature. Certificates can also be purchased from resellers that perform minimal identity checks, allowing an attacker to operate under a formally valid but effectively fictitious legal entity.
Expired certificates remain dangerous because signature verification evaluates the chain at the time recorded by an RFC 3161 timestamp token rather than the current date. Using the OpenSSL -attime flag demonstrates that a chain rejected today as expired will validate when tested against a date inside the original validity window. The same mechanism applies to Authenticode signatures; Windows accepts signatures timestamped while the certificate was still valid even if the certificate has since expired. The 2022 Nvidia certificate leak illustrated the issue: both keys were already expired yet were still used to sign drivers that Windows loaded without complaint.
Signature hashes do not cover the entire file. Authenticode deliberately excludes the PE checksum field, the certificate table directory entry, and the attribute certificate table itself. Historical implementations of WinVerifyTrust performed no additional checks on the excluded region, enabling the padding abuse documented in CVE-2013-3900. Microsoft published Security Advisory 2915720 and the EnableCertPaddingCheck registry key, yet the stricter behavior remains opt-in because it can break legitimate distribution workflows.
Revocation is equally unreliable for code-signing scenarios. When CRL or OCSP endpoints are unreachable, most verifiers treat the certificate as valid. Even when revocation succeeds, the revocation date can be set after the actual compromise, preserving a window during which timestamped malicious signatures continue to pass checks.
Practical defenses therefore focus on concrete identity rather than the mere presence of a signature. Maintain explicit thumbprint allow-lists in WDAC or AppLocker, treat timestamp tokens as first-class telemetry, block known-compromised certificates by thumbprint, and enforce strict revocation checking for high-risk categories. Signing keys must reside only in hardware security modules; build agents should submit hashes for signing rather than hold extractable private keys.
Related articles
Enodia: Open-Source Go Tool Automates Service Inventory, EOL Tracking and CVE Correlation
A DevOps engineer has released enodia, a single-binary Go CLI that discovers real versions of services across large heterogeneous environments and correlates them with end-of-life calendars and vulnerability databases. The tool was built after manual Ansible-based inventories and existing solutions such as endoflife.date, nvchecker, Renovate and Uptime Kuma proved insufficient for covering both infrastructure and application services while also providing actionable lifecycle, patch and branch status. Enodia uses product-specific probes for 123 technologies including PostgreSQL, MySQL, MariaDB, Jira, Confluence, Bitbucket, VMware vCenter, ESXi, pfSense and multiple Linux distributions, falling back to a generic URL-plus-regex probe when needed. Data collection is deliberately separated from evaluation so that inventory.jsonl files can be generated inside air-gapped networks and later analysed where CVE feeds are available. The project also contributed dozens of missing products and corrected EOL dates to the endoflife.date project and integrates both NVD and Russia’s FSTEC BDU vulnerability databases. Special handling was added for MySQL/MariaDB connection-error counters, version-string masquerading, and vendor-specific update nomenclature to avoid false reports.
Telegram Voice Call Flaw Allows Remote Code Execution on Android Devices
Security researchers disclosed a vulnerability in Telegram for Android that enables remote code execution on a victim's device simply by answering a voice call. The attacker requires only a standard account, and the flaw was present in versions 8.6.2 through 12.10.3 released between March 2022 and September 2026. Telegram addressed the issue in version 12.10.4, released at the end of September 2026. The root cause lies in improper handling of the MediaState message exchanged during calls, specifically when processing rotation values and missing video state fields, leading to out-of-bounds memory reads. The same underlying fix was deployed earlier to shared call libraries, iOS, and desktop clients, but reached Android later. Researchers confirmed the impact only on private calls running on ARM64 Android devices, with no evidence of exploitation in the wild or public CVE assignment as of October 29, 2026.
360 Security Cloud Opens PHP2Shell Vulnerability Self-Check Platform to Government and Enterprise Users
360 Security Cloud has launched a dedicated self-assessment platform that allows organizations to scan their PHP-based websites and systems for the PHP2Shell vulnerability. The service is now available to government agencies, large enterprises, and small-to-medium businesses. Users can apply by scanning a provided QR code to determine how many of their assets run PHP, identify affected versions, and check whether any systems have already been compromised. The platform addresses key questions about exposure: the number of PHP-powered sites and systems, the presence of vulnerable versions, and signs of prior intrusion. The announcement emphasizes that the tool helps organizations proactively assess risk without requiring external assistance. The original Chinese report was published on October 30, 2026, and the service is positioned as a practical response to ongoing PHP-related security concerns.
Liferay Community Edition Misconfiguration Exposes Plaintext Passwords in Government Systems via CWE-319
A detailed analysis reveals how the use of Liferay Community Edition in a closed government information system led to the transmission of user passwords in plaintext through transactional emails. The issue stemmed from default notification templates that included the [$PASSWORD$] macro, combined with unadjusted system variables pointing to localhost instead of the production domain. Despite proper OAuth 2.0 delegation and CSRF protections, the misconfigured password change workflow sent permanent credentials in clear text to user inboxes. The root cause was traced to custom portlets that incorrectly reused the New Password Notification trigger intended only for administrator-initiated resets. Remediation involves removing the password macro from email templates and updating portal-ext.properties to enforce production host settings. The case highlights how open-source enterprise platforms require thorough hardening beyond initial code audits when deployed in high-security environments.