HabrSeptember 13, 2026🇷🇺Translated from Russian

Can IDOR Vulnerabilities Be Found Through Static Analysis? New Python Kernel Aims to Answer the Question

A researcher has released a static analysis module designed to detect IDOR (Insecure Direct Object Reference) vulnerabilities in Python web applications by analyzing data flow rather than relying on heuristics.

The project addresses a long-standing question: whether IDOR flaws can be identified statically by tracing the connection between a user-supplied identifier, the retrieved object, and any authorization check that must dominate the access path.

IDOR occurs when an application exposes direct references to objects without verifying that the current user is authorized to access them. Classic examples include Flask routes that accept an invoice_id parameter and fetch the record with Invoice.query.get(invoice_id) after only a @login_required decorator, allowing any authenticated user to enumerate other users’ invoices.

The new module parses project sources to locate HTTP handlers across Django, DRF, Flask, and FastAPI. It then builds a protocol of inputs, data accesses, and checks for each handler. Values are labeled using the SIAOD system: SUBJECT for the authenticated user, INPUT for ordinary request data, ATTACKER_SELECTED for identifiers that select specific objects, OBJECT for records retrieved from storage, and DYNAMIC for values whose origin cannot be determined statically.

Unlike conventional taint analysis, the engine requires that an authorization check both references the exact OBJECT reached via an ATTACKER_SELECTED identifier and dominates the code path that returns or uses that object. Checks in unrelated branches, checks performed after the object has already been returned, or checks that compare a different object are all rejected.

Evaluation on 150 small open-source repositories produced 112 findings, of which 48 were confirmed true positives. On 15 production codebases totaling 12 million lines, the tool reported 731 findings but only five were genuine; the remainder stemmed from authorization logic implemented in routers, dependencies, or external RBAC frameworks rather than inside individual handlers.

The author concludes that while mathematical tracking of object ownership is possible, real-world authorization patterns frequently place the decisive checks outside the analyzed handler scope, limiting the precision of purely static approaches today.

Related articles

HispasecVulnerabilities & Exploits

Unbound 1.26.1 Patches Critical DNSSEC Validator Flaw CVE-2026-81642 Enabling Remote Code Execution

NLnet Labs has released Unbound 1.26.1 to address CVE-2026-81642, a critical vulnerability in the DNSSEC validator that can cause service crashes and potential remote code execution. The flaw affects all versions up to and including 1.26.0 and is triggered when validating a malicious DNS zone. It resides in the handling of DNSKEY records, where a buffer overflow can occur during DNS response processing. The vulnerability carries a CVSS 4.0 score of 9.1 with a network attack vector, no privileges required, and no user interaction needed. Exploitation requires an attacker to control a malicious DNS zone that the resolver queries, which can lead to denial of service or RCE in the worst case. The update also includes fixes for eight additional security issues, including CVE-2026-82717 and CVE-2026-81634, both involving heap corruption.

BoletimSecVulnerabilities & Exploits

BIND DNS Servers Receive Patches for 14 Vulnerabilities Including High-Severity DoS Flaws

The Internet Systems Consortium has released BIND 9 updates that address 14 vulnerabilities across multiple versions of the widely used DNS server software. Seven of the issues received a CVSS score of 7.5 and were rated high severity, while the remaining seven scored between 5.3 and 6.5. The most critical flaw allows an unauthenticated attacker to crash the named process with a single malformed SIG(0) request over DNS over HTTPS. Additional vulnerabilities enable cache poisoning through forged NXDOMAIN responses, downgraded secure delegations, and acceptance of unsigned answers, as well as resource exhaustion via uncontrolled cache growth and excessive CPU consumption. Affected releases span BIND 9.11.0 through 9.18.50, 9.20.0 through 9.20.27, and 9.21.0 through 9.21.25. No workarounds exist, making immediate upgrades to versions 9.20.29, 9.21.26, or 9.20.29-S1 the only mitigation. The ISC reports no known exploitation in the wild and none of the flaws appear in CISA’s Known Exploited Vulnerabilities catalog.

Security NEXTVulnerabilities & Exploits

Cisco Patches 29 Vulnerabilities in Secure Firewall ASA, FTD and FMC Products

Cisco Systems has disclosed multiple vulnerabilities affecting its Cisco Secure Firewall product line and released corresponding security updates. The advisory covers 14 security bulletins addressing 29 CVEs across Adaptive Security Appliance (ASA), Threat Defense (FTD), and Management Center (FMC) software. Five of the advisories are rated Critical, covering 18 CVEs that include remote code execution without authentication and privilege escalation to administrator level. Several issues have already been confirmed as exploited in the wild. The company also consolidated related weaknesses under single CVE identifiers where appropriate and provided CVSS v3.1 base scores ranging up to 9.9. Affected products include the Secure Firewall 3100 and 4200 Series along with multiple software hardening releases issued on 16 September 2026.

Security NEXTVulnerabilities & Exploits

pgAdmin 4 Database Management Tool Patches Multiple Vulnerabilities in Version 9.18

The development team behind pgAdmin 4, the popular management tool for PostgreSQL databases, has released version 9.18 to address multiple security issues. The update, published on September 17, 2026, includes fixes for four CVEs along with 29 total changes covering new features and bug resolutions. One vulnerability, tracked as CVE-2026-86863, stems from insufficient web server authentication that trusts external HTTP headers, enabling attackers to bypass login and impersonate administrators without passwords. A second issue, CVE-2026-86864, allows command injection through the backup feature when database names are passed as arguments, potentially leading to unauthorized file writes or exfiltration of connection passwords. The update is available now from the official pgAdmin repository.