10 Non-Obvious S3 Integration Vulnerabilities Exposed in Web Application Bug Bounty Research
Security researcher Sergey Bobrov aka BlackFan has released an in-depth practical guide on non-obvious vulnerabilities arising from S3 integrations in web applications. Working at Positive Technologies and participating in Standoff Bug Bounty, Bobrov demonstrates ten laboratory environments that expose misconfigurations when object storage is connected through proxies such as nginx.
The analysis begins with core S3 operations (PUT, GET, DELETE, and bucket listing) and authorization mechanisms using Access Key and Secret Key pairs with v2 and v4 signatures. It contrasts two common integration patterns: direct client calls limited to method parameters and proxy configurations that expose the full protocol surface because nginx rarely filters methods or headers beyond the path prefix.
Proxy Rule Errors and Bucket Takeover
One stand demonstrates how omitting a trailing slash in a /static proxy rule allows an attacker to create a bucket matching the original prefix and serve malicious files such as xss.html that execute stored XSS through the legitimate site. Another case exploits the $uri variable containing decoded paths, enabling HTTP Request Splitting via spaces and newlines to rewrite the Host header and exfiltrate session cookies including HttpOnly values to an attacker-controlled bucket.
Using Ceph RGW, researchers bypass rewrite rules by injecting %0A after the static prefix, causing the regular expression to fail and allowing arbitrary bucket access with a preserved postfix. Similar path traversal with ../ sequences succeeds against Ceph RGW because it does not normalize paths like traditional filesystems, permitting requests to internal buckets such as public.
Cache Poisoning and Protocol Abuse
Cache poisoning is shown when query parameters like ?response-content-type=image/png alter the Content-Type returned by S3 while the nginx cache key ignores parameters, serving the poisoned response to all subsequent visitors for one minute. Additional vectors include enabled bucket listing combined with unauthenticated PUT uploads that permit direct stored XSS, and signed URL endpoints that leak entire bucket listings when a slash is supplied instead of a specific object path.
The research supplies an S3 Fingerprint table and a Burp Suite extension for rapid identification of systems including MinIO, Ceph RGW, and Yandex Cloud via headers such as X-Amz-Request-Id and error page formats. All demonstrations stress that the findings are educational and intended to help defenders secure their deployments.
Related articles
Multiple Vulnerabilities Found in nginx Web Server, Three Rated Critical by F5
F5 disclosed an out-of-band security advisory on October 14, 2026, revealing a total of 11 vulnerabilities across nginx and related products. Five issues affect the core open-source nginx server while six more impact associated offerings including NGINX Gateway Fabric and NGINX Ingress Controller. The flaws can lead to denial of service, remote code execution, authentication bypass, and sensitive information disclosure. Although the official nginx project rates all five core vulnerabilities as Medium severity, F5 assigns a CVSS v4.0 base score of 9.2 to three of them, classifying them as Critical. One example is CVE-2026-15176, a heap buffer overflow in the ngx_http_core_module that triggers under specific URL rewrite and file-path configuration settings.
CISA Adds BeyondTrust Remote Support and Fortinet Flaws to KEV Catalog Following Zero-Day Exploitation by ARMORY CASTLE
The US Cybersecurity and Infrastructure Security Agency has added two vulnerabilities affecting Fortinet and BeyondTrust products to its Known Exploited Vulnerabilities catalog. CVE-2026-102764 is an authentication bypass flaw in BeyondTrust Remote Support that allows remote attackers to manipulate appliance files without credentials due to insufficient source validation. BeyondTrust released an advisory on October 15, 2026, rating the issue 9.3 on CVSS v4.0 as Critical. Mandiant attributes the zero-day exploitation to the suspected Chinese group ARMORY CASTLE, which deployed web shells for persistence and privilege escalation in late August. The second CVE, CVE-2025-61624, also appears on the KEV list but lacks further public technical details in the current advisory. Organizations are urged to apply patches immediately to prevent further compromise.
Use-After-Free in HTTP/2 Upload Leads to Potential RCE in curl: Detailed Analysis of CVE-2026-92392
In curl 8.23.0, developers fixed a high-severity Use-After-Free vulnerability tracked as CVE-2026-92392 that could allow remote code execution during HTTP/2 uploads. The flaw stems from a dangling pointer left on an easy handle after a server resets an HTTP/2 stream, which later gets dereferenced when the multi handle closes. An attacker controlling the server can influence memory contents to hijack a function pointer and execute arbitrary code, though successful exploitation requires precise conditions including upload size, memory layout, and knowledge of the target architecture. The issue was discovered by Luna Tong at Anthropic using their OSS Scanner and reported to the curl security team on September 15. The team accelerated the release cycle by two weeks to deliver the fix while maintaining standard procedures. curl maintainers continue reducing internal handle pointers in favor of identifiers and are adding more tests and static analysis to prevent similar memory-safety errors. The vulnerability highlights ongoing risks in C-based networking code handling multiplexed protocols like HTTP/2.
Automating Asset Scanning in MaxPatrol VM via API: Part 4 on Authentication
A detailed technical guide explains how to build asset scanning automation in MaxPatrol VM using its API, starting with authentication methods. The author covers three authorization options including local account login-password, domain account credentials, and reference tokens, providing working Python examples for local accounts. Code reads secrets from an .env file and obtains a Bearer token valid for 24 hours from the Core role instance. The post details required privileges in both the Management Console and MaxPatrol 10 for tasks such as vulnerability exports, dynamic asset group management, scan task creation, and report exporting. It credits Alexey Leonov for an early GitHub script that enabled practical API usage and lists additional resources including webinars, SDK, CLI, Jira integration, and a Postman collection. All subsequent API calls rely on the generated headers containing the Bearer token.