Habr•October 30, 2026•🇷🇺Translated from Russian

Enodia: Open-Source Go Tool Automates Service Inventory, EOL Tracking and CVE Correlation

A DevOps engineer running both a home lab and a large production environment grew frustrated with the inability to answer three simple questions: which exact versions of PostgreSQL, nginx and other services are deployed, which of them have reached or will soon reach end-of-life, and which carry known CVEs.

Initial attempts using Ansible playbooks to collect operating-system versions and export them into Google Sheets quickly proved unsustainable. The spreadsheets lacked diffing capabilities, contained no knowledge of support calendars, and could not reach services that do not expose SSH such as Jira, PostgreSQL, Redis or BMC interfaces.

After evaluating existing tools, none of which combined live service discovery, end-of-life calendars and CVE data, the engineer created enodia. The resulting single-binary CLI under the AGPL-3.0 licence reads a declarative YAML configuration describing every target and then interrogates each service with a purpose-built probe written in Go.

One hundred and twenty-three product-specific probes currently exist, covering Atlassian products, GitLab, Jenkins, TeamCity, SonarQube, Keycloak, Vault, Grafana, databases, message brokers, VMware ESXi and vCenter, Proxmox, NAS appliances, BMC cards, pfSense, RouterOS and 31 operating systems via SSH. A generic probe supports any remaining service via HTTP(S) plus regex or JSONPath extraction.

Enodia deliberately splits collection from evaluation. The command enodia collect produces an inventory.jsonl file containing only observed facts; enodia check later correlates those facts against support calendars and CVE databases. This separation allows inventory gathering inside closed networks and subsequent analysis where internet access or local CVE mirrors are available.

Instead of a single pass/fail verdict, the tool reports three independent axes: PATCH status (current or behind), LIFECYCLE status (active, security-only or EOL) and BRANCH status (latest, newer or newer LTS). These axes feed an overall severity of info, warn or fail that determines the process exit code, making the tool suitable for CI pipelines.

During development several non-obvious pitfalls were encountered and fixed. Early MySQL/MariaDB probes triggered the server’s max_connect_errors counter because they closed the connection before authentication; the current probe now performs a minimal login attempt so that the connection is counted as established. MariaDB’s version-string prefix “5.5.5-” caused older versions of enodia to misclassify servers as long-EOL MySQL 5.5.5. Debian point-release information is read from /etc/debian_version rather than the frozen VERSION_ID field. VMware “Update N” nomenclature is parsed into semantic versions so that 8.0 Update 3 is not reported newer than the calendar entry 8.0 U3k.

Support calendars are sourced primarily from endoflife.date, to which the author contributed full histories for Confluence, Bitbucket and Bamboo plus new entries for Jira Service Management and pgAdmin. CVE data is pulled from both NVD and Russia’s FSTEC BDU; package-level vulnerabilities for ten distributions are obtained via their native OVAL or Security Tracker feeds. All CVE databases can be updated once and then used offline inside air-gapped environments.

Related articles

BoletimSec•Vulnerabilities & Exploits

WordPress Patches Race Condition in Core Update Process Enabling Unauthenticated Remote Code Execution

WordPress addressed a critical race condition vulnerability in its core update mechanism on October 28, 2026, that could allow remote code execution without authentication. The flaw affects the automatic update process used by the majority of installations, exposing a temporary installer during file extraction to a predictable folder. Wordfence recorded 60,471 exploitation attempts within the first 24 hours after disclosure. The issue was discovered by researcher Umut Bayram and fixed across multiple branches including version 7.1.4, which bundles 22 security patches. Mitigations include immediate updates, restricting public access to the wp-content update directory, and ensuring application firewall coverage. Versions 4.6 and earlier receive no further security updates.

AntiMalware•Vulnerabilities & Exploits

Google Releases November Android Security Patch Fixing 216 Vulnerabilities Including Critical Zero-Click Flaws

Google has issued its November security update for Android, addressing a total of 216 vulnerabilities with 23 classified as critical. The patch resolves multiple remote code execution flaws that require no additional privileges or user interaction, qualifying as zero-click attacks. Specific fixes include CVE-2026-58868 in the Framework component and CVE-2026-58876 along with CVE-2026-58936 in the System component, all impacting Android versions 14 through 17. Additional patches cover privilege escalation, information disclosure, and denial-of-service issues across the kernel, Bluetooth, virtualization layers, and chipsets from MediaTek and Qualcomm. No evidence of in-the-wild exploitation has been noted in the bulletin, yet the critical nature of the remote code execution bugs warrants immediate attention. Users must verify the 2026-11-05 patch level or newer in device settings, as simply running the latest Android version does not guarantee all fixes are installed. Some updates arrive via Google Play system updates while others depend on device manufacturers.

Habr•Vulnerabilities & Exploits

Backdoor with Password 123456 and Hardcoded Keys: How AI Cracked 'Encrypted' USB Drives

An AI agent rapidly discovered critical cryptographic weaknesses in multiple USB encryption and copy-protection products, including hardcoded backdoor accounts and keys that bypassed user passwords entirely. In the SecZure YutianDun drive, two hidden accounts with passwords 123456 and SECZURE.COM allowed full decryption of files without the administrator password. NetacFileLock used a fixed AES-256 key embedded in the binary, ignoring the user password completely while also logging passwords in plaintext and employing ECB mode. KakaSoft USB Copy Protection relied on a modified MD5 implementation with altered shift constants and a hardcoded internal password derived from an embedded seed, enabling full Blowfish decryption without any user input. Nexcopy stored its Triple DES content key and IV in an encrypted configuration file protected only by a fixed 32-byte certificate inside the viewer application. The AI completed analyses in minutes that previously required hours of manual time-travel debugging and reverse engineering.

Habr•Vulnerabilities & Exploits

CVE-2026-98432: Temporary nftables Filter with Auto-Rollback for Ubuntu Servers

Administrators are deploying a temporary nftables-based mitigation for CVE-2026-98432 on Linux systems while awaiting official kernel patches. The filter drops IPv4 TCP packets with IP header length exceeding five, reducing exposure to the vulnerability. The procedure includes verifying kernel status via Canonical, preparing rollback commands, and using systemd timers to automatically remove the table after five minutes if connectivity is lost. Steps cover syntax validation with nft --check, integration with existing firewall configurations, and post-reboot verification to ensure the temporary table persists without interfering with ufw or Docker rules. Red Hat guidance on discarding packets containing IP options is referenced as a complementary measure. The process is designed for single-server testing before scaling to production fleets, with explicit instructions to avoid flush ruleset operations that could disrupt other tables.