Press enter or click to view image in full size
Bug bounty hunting is full of emotional rollercoasters. One day you find a critical vulnerability, and the next day you receive the dreaded “Not Applicable” (N/A) status. This is the story of how I found a Priority 2 (P2) Denial of Service (DoS) bug on a managed cloud platform, got hit with an N/A, and successfully appealed to get it recognized, earning reputation points and proving the impact.
If you’ve ever had a valid bug rejected because it was an “upstream issue,” this article is for you.
I was hunting on a public Bugcrowd program for a prominent Managed Cloud Database Provider. Their platform allows users to spin up various managed databases (let’s call the specific engine I was testing TargetDB, which acts as a modern, high-performance alternative to Redis).
While exploring the capabilities of TargetDB, I decided to test how it handles custom Lua scripts via the EVAL command. Lua scripting in Redis-like databases is a known attack surface, especially when it comes to resource exhaustion.
During my research, I noticed that TargetDB implemented a custom Lua function let’s call it db.randstr(). This function was designed to generate random strings, presumably for testing or data generation.
However, I realized that this function lacked proper bounds checking. I asked myself: What happens if I ask the server to generate a string that is 1 Billion characters long?
Since the database operates entirely in-memory, forcing it to generate and return massive chunks of data could lead to extreme memory allocation, network congestion, and eventually, a full process crash.
I quickly wrote a Python script to test my theory. Using a standard Redis client, I authenticated as a low-privileged database user and executed the following payload:
import redis
import time# Connect to the managed database instance
r = redis.from_url("rediss://default:<password>@<target-host>:<port>")
print("[*] Triggering the payload...")
# Executing the custom function with an extremely large integer
# Payload: return db.randstr(1000000000)
start_time = time.time()
try:
r.execute_command("EVAL", "return db.randstr(1000000000)", "0")
except Exception as e:
print(f"[!] Exception caught: {e}")
print(f"[*] Response time: {time.time() - start_time} seconds")
The Impact was immediate and catastrophic:
0.17s to over 27 seconds.INFO STATS command revealed that total_net_output_bytes instantly spiked by approximately 1 GB in a single request.uptime from 4761 seconds back to 1 second.I had successfully found a single-command DoS that completely took down the managed instance. According to the Bugcrowd Vulnerability Rating Taxonomy (VRT), an Application-Level DoS with critical impact falls under P2.
I recorded a video PoC, took screenshots of the INFO metrics, and submitted the report.
Join Medium for free to get updates from this writer.
A few days later, the triage team responded. They confirmed that the bug was 100% reproducible and valid. However, they marked the report as Not Applicable (N/A).
Why? Because TargetDB is an open-source “upstream” project. The cloud provider’s policy stated that vulnerabilities existing in the upstream source code are not eligible for bounties, and researchers should report them directly to the open-source maintainers.
Getting an N/A on a valid P2 bug is painful, especially because it doesn’t give you any reputation points for your hard work. But instead of giving up, I carefully read the program’s brief again.
I formulated an appeal based on their own rules:
Always be polite and professional when appealing. Use the program’s own terminology to make your case.
A day later, the triage team got back to me. They agreed with my logic! Because the exploit had a demonstrable, severe impact on their managed infrastructure, they changed the status from “Not Applicable” to “Informational” and awarded me 20 Reputation Points.
Furthermore, having the cloud provider confirm the bug is “Reproducible” gave me incredible leverage when I subsequently reported the 0-day directly to the upstream open-source team.
Happy Hacking!
#BugBounty #CyberSecurity #EthicalHacking #Bugcrowd #Infosec #DoS #0day #PenetrationTesting #CloudSecurity #HackerCommunity
Press enter or click to view image in full size