HabrSeptember 12, 2026🇷🇺Translated from Russian

Fuzzy Logic in Cybersecurity: Reducing Vulnerability Queue by 7.5 Times with CVSS, EPSS and FSTEC Comparison

An experienced security analyst has built a fuzzy logic model that cuts the vulnerability remediation queue by a factor of 7.5 while providing more nuanced prioritization than CVSS, EPSS or the Russian FSTEC methodology.

From Ancient Paradoxes to Modern Vulnerability Scoring

The work begins with the classic Sorites paradox: removing one grain of sand from a heap does not stop it being a heap, yet continued removal eventually destroys the concept. This illustrates that many real-world categories have blurred boundaries. The same problem appears in vulnerability management when analysts apply hard thresholds such as “if CVSS ≥ 9.0 then critical.”

CVSS (Common Vulnerability Scoring System) version 3.1 produces a score from 0 to 10 together with an attack vector string. While useful, the metric answers only “how bad could exploitation be” and “how difficult is exploitation,” not “how likely is exploitation in the next 30 days.” EPSS (Exploit Prediction Scoring System) supplies the missing probability but still yields a single crisp number that analysts must threshold manually.

Fuzzy Sets and Membership Functions

Lotfi Zadeh introduced fuzzy sets in 1965, allowing an element to belong to a set to a degree between 0 and 1. Membership is not probability: a liquid with membership 0.91 in the set of drinkable fluids is almost certainly potable, whereas a probability of 0.91 only states that 91 out of 100 similar samples would be safe.

The analyst implemented four common membership function shapes: triangular, trapezoidal, Gaussian and sigmoidal. For EPSS values, which cluster heavily near zero, a logarithmic transformation combined with trapezoidal functions proved most practical. The linguistic variable for EPSS contains five terms: negligible, low, medium, high and critical.

Rule Base Construction and Mamdani Inference

A complete rule base must satisfy coverage and consistency. With three inputs each having three terms, 27 rules are required; five inputs would demand 3125 rules, so the author cascaded multiple smaller inference blocks. Each rule follows the form “IF EPSS is high AND impact is complete THEN urgency is immediate.”

The Mamdani algorithm performs four steps: fuzzification of crisp inputs, evaluation of rule firing strength using the minimum t-norm, aggregation of clipped output membership functions, and defuzzification by centroid calculation. In one test case (CVE-2025-49113 in Roundcube Webmail), an EPSS of 0.30, impact of 5.9 and age of 244 days produced an urgency score of 94.4, placing the issue in the “immediate, 24-hour window” category.

Practical Results and Comparison

Side-by-side evaluation against raw CVSS thresholds, EPSS probability cut-offs and the FSTEC risk matrix showed a 7.5-fold reduction in the number of vulnerabilities requiring urgent attention. The fuzzy model also avoided the “hole” problem where certain input combinations receive no rule coverage. The author notes that the Mamdani method is especially suitable when results must be explained to auditors, while a Sugeno-style approach would offer faster numerical tuning.

The complete implementation, written from scratch in approximately 200 lines of Python without external fuzzy libraries, is intended both as a working tool and as an educational artifact demonstrating every stage of fuzzy inference applied to real vulnerability data.

Related articles

AntiMalwareVulnerabilities & Exploits

VLC Media Player Hit by Two Memory Corruption Flaws Exploitable via Malicious PNG and Rogue RealRTSP Server

Two vulnerabilities have been discovered in the VLC media player that allow out-of-bounds memory access. The issues affect versions from 3.0.0 through 3.0.23. CVE-2026-56711, rated 8.6 on CVSS 4.0, stems from an integer overflow when calculating image buffer sizes in PNG files, enabling attackers to trigger writes beyond allocated memory simply by opening a crafted image or loading it from a playlist. CVE-2026-73324, scored 6.9, resides in the RealRTSP module and permits a malicious server to send an oversized response string that causes reads past the end of a buffer due to a missing null terminator. Both flaws are present in official VideoLAN builds, although some distributions may exclude the RealRTSP component. No special configuration or plugins are required to trigger the issues. Until patched releases appear, users are advised to avoid opening images or playlists from untrusted sources and to refrain from connecting to unknown RealRTSP streams.

AntiMalwareVulnerabilities & Exploits

September Windows 11 Security Update KB5124008 Breaks Always On VPN Certificate Authentication

The September security update KB5124008 for Windows 11 has introduced a regression that disables Always On VPN connections using certificate-based authentication. The issue affects devices running Windows 11 versions 24H2 and 25H2 that connect to Remote Routing and Access Service (RRAS) and Network Policy Server (NPS) instances on Windows Server 2019. VPN profiles deployed via Microsoft Intune are impacted, with the failure occurring during the certificate negotiation phase of the IPsec connection. Users confirm the problem is reproducible: the VPN works before the patch, stops after installation, and resumes after patch removal and reboot. Microsoft has not yet acknowledged the regression or released a fix, leaving administrators to pause deployment through WSUS or Intune and open support cases with client and NPS logs. A potential workaround involves switching profiles to EAP-TLS, though its reliability remains unconfirmed.

HabrVulnerabilities & Exploits

API Token Lifecycle: From Issuance to Revocation and Secure Management

The article provides a comprehensive examination of the full API token lifecycle in browser-based applications, emphasizing that signatures alone cannot prevent token theft. It details risks introduced at issuance, storage, transmission, and revocation stages, including improper OAuth grant types and long-lived tokens. Key recommendations include short-lived access tokens, atomic refresh token rotation, and the use of Authorization Code Flow with PKCE for public clients. Storage advice strongly discourages localStorage and sessionStorage in favor of HttpOnly cookies or a Backend-for-Frontend pattern that keeps real tokens on the server. The piece also covers CSRF protections, rate limiting on authorization endpoints, and the advantages of signed client assertions over static secrets. Overall, it stresses that token security depends on the entire lifecycle architecture rather than cryptographic strength alone.

SecuritylabVulnerabilities & Exploits

PKCE Becomes Mandatory for OAuth Public Clients as RFC 9700 and OAuth 2.1 Close Authorization Code Interception Risks

PKCE, or Proof Key for Code Exchange, was introduced in RFC 7636 to prevent code interception attacks in OAuth 2.0 flows used by mobile and single-page applications. The mechanism generates a code_verifier and derives a code_challenge using S256 hashing to bind the authorization code to the original client session. Without PKCE, malicious apps on the same device can hijack custom URI schemes like myapp://callback and exchange stolen codes for access tokens. RFC 9700, published in January 2025, now mandates PKCE for public clients and recommends it for confidential ones while requiring S256 over the weaker plain method. The upcoming OAuth 2.1 draft further embeds PKCE into the core authorization code flow and removes implicit and resource owner password credentials grants. Major providers including Auth0, Okta, and Microsoft Entra ID show varying default support, highlighting the need for explicit S256 implementation. The standard also protects against code injection attacks even when client secrets are present.