Developer Exposes 12 Vulnerabilities in FastAPI Todo App After 176 Bots Bypass Protections
A Russian developer who started with a simple FastAPI todo list four months ago ended up running a multi-product platform and uncovering a dozen security issues after bots flooded the registration form.
The service at getdoday.ru grew to include a planner for schoolchildren, a Q&A module, a traffic-ticket trainer, and a tutor dashboard, all inside one 86,000-line monolith with 1,325 tests. Within two weeks the database showed 238 new accounts; only 62 confirmed their email. The remaining 176 were bots using disposable domains such as sdffsd.sdd and prweorwef.com.
Bots bypassed three protection layers
The original defenses were a honeypot field, a five-registrations-per-minute IP limit, and email confirmation. None worked. The rate limiter used an in-memory deque that was cleared on every deployment; with dozens of commits per day the counter effectively never existed. uvicorn was started with --forwarded-allow-ips='*', causing it to trust the leftmost IP supplied in the X-Forwarded-For header. An attacker could therefore rotate a fake address on every request and never hit the limit. Email verification set a timestamp but the column was never checked anywhere in the authorization logic.
Instead of adding hard email gates that would hurt real users behind school NATs, the developer implemented three lightweight checks: a signed timestamp proving the form was rendered at least a few seconds earlier, hourly registration counters stored in the database with separate per-subnet limits, and a DNS lookup confirming the mail domain actually exists.
Stored XSS via JSON-LD and an IDOR
During the subsequent full audit twelve additional vulnerabilities were found. Public Q&A pages rendered user-supplied question titles inside a JSON-LD script block using the safe filter. Because the HTML parser does not understand JSON, an attacker could close the script tag and inject executable code that exfiltrated the victim’s entire account export.
Another flaw allowed any logged-in user to read every task belonging to a project simply by supplying its UUID to the /api/tasks endpoint; membership checks existed only on the HTML page, not inside the service layer.
Other issues included an inability to invalidate sessions after password change and rate-limit bypasses on multiple endpoints. All findings were addressed with tests and the developer published the complete post-mortem on Habr.
Related articles
Fuzzilli vs BigSleep: 37 and 45 Vulnerabilities Found in V8 Over Six Months with 25% Overlap
Google's Project Zero compared two automated vulnerability discovery tools targeting the V8 JavaScript engine in Chrome. The generative fuzzer Fuzzilli identified 37 actionable vulnerabilities over six months, while the LLM-based agent BigSleep found 45. Only about 25% of the vulnerabilities overlapped between the two systems. Additional experiments on historical bugs from 2023 onward showed a theoretical overlap of around 60%. The analysis indicates that fuzzing and LLM agents complement each other rather than one replacing the other. Researchers recommend using both approaches together to maximize coverage of complex bugs in well-tested software like V8.
ISPsystem Publishes Detailed Timeline of VMmanager 6 Attack and Vulnerability Analysis
ISPsystem has released a comprehensive post detailing a recent security incident targeting its VMmanager 6 virtualization management platform. The company outlines the chronology of the attack, the specific vulnerabilities exploited by threat actors, and the current mitigation status. The incident has sparked significant discussion within the professional hosting and virtualization community. ISPsystem emphasizes transparency and provides technical breakdowns to help users understand the attack vectors and required defensive measures. The post covers how the attackers gained initial access and the subsequent impact on managed virtual environments.
Google Fixes 52 Vulnerabilities in Chrome Including Four Critical Issues
Google has released security updates for its Chrome browser that address a total of 52 vulnerabilities. Four of these flaws received the highest severity rating of Critical. The updates were issued on October 27, 2026, for Windows, macOS, and Linux platforms. The critical vulnerabilities include memory corruption in the file system, input validation issues in the file API, problems in the Skia graphics library, and a Use After Free flaw in the Layout component. Specific CVEs patched are CVE-2026-118306, CVE-2026-118331, CVE-2026-118348, and CVE-2026-118344. The remaining 48 vulnerabilities received lower severity ratings but were still addressed in the same release.
CISA Adds Brotli and Adobe Commerce Flaws to Known Exploited Vulnerabilities Catalog
The U.S. Cybersecurity and Infrastructure Security Agency has added two vulnerabilities to its Known Exploited Vulnerabilities catalog after confirming active exploitation in the wild. CVE-2026-111497 affects Google’s Brotli data compression library and can lead to code execution, information disclosure, or denial of service when specially crafted compressed data is processed. The flaw impacts any software that incorporates the Brotli decoder for decompression tasks, prompting vendors to release updates. CVE-2026-48356 resides in the file upload functionality of Adobe Commerce and Magento, allowing attackers to exploit improper handling during upload operations. CISA issued the alert on October 27, 2026, urging organizations to apply patches immediately to mitigate ongoing attacks. Related advisories also reference Brotli fixes in PHP and other products that bundle the library.