“Not Applicable” to Victory: How I Escalated a P2 DoS Vulnerability on Bugcrowd
嗯,用户让我用中文总结一下这篇文章,控制在100字以内,而且不需要特定的开头。首先,我需要通读文章,抓住主要信息。 文章讲的是作者在云数据库平台发现了一个优先级2的DoS漏洞,利用Lua脚本生成超长字符串导致内存耗尽和崩溃。提交后被标记为N/A,因为是上游问题。但作者申诉成功,获得了声誉积分,并将漏洞上报给上游项目。 总结的时候要包括发现漏洞、被拒绝、申诉成功以及后续上报这些关键点。同时要控制在100字以内,所以需要简洁明了。 可能的结构是:作者发现漏洞→被拒绝→申诉成功→上报上游。这样就能涵盖所有重要信息了。 </think> 作者在云数据库平台发现一个优先级2的DoS漏洞,利用Lua脚本生成超长字符串导致内存耗尽和崩溃。提交后被标记为“Not Applicable”,因属上游问题。通过申诉强调漏洞的实际影响,最终获得认可并上报上游项目。 2026-3-31 06:17:3 Author: infosecwriteups.com(查看原文) 阅读量:4 收藏

Hacker MD

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.

The Target and The Recon

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.

The Vulnerability: Uncontrolled Resource Consumption

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.

The Exploit (Proof of Concept)

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:

  • Latency Spike: The server latency shot up from a normal 0.17s to over 27 seconds.
  • Network Exhaustion: The INFO STATS command revealed that total_net_output_bytes instantly spiked by approximately 1 GB in a single request.
  • Process Crash: The most critical impact was the server uptime. The database engine couldn’t handle the memory allocation and crashed. The managed infrastructure automatically restarted the process, resetting the database 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.

The Plot Twist: “Not Applicable”

I recorded a video PoC, took screenshots of the INFO metrics, and submitted the report.

Get Hacker MD’s stories in your inbox

Join Medium for free to get updates from this writer.

Remember me for faster sign in

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.

The Appeal: Knowing the Rules of the Game

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:

  • Material Impact: The program stated they cared about “real-world vulnerabilities with material security impact.” A 1GB network spike and a full instance crash definitely fit the bill.
  • Platform Resilience: The provider marketed their service as having “high fault resilience.” A single authenticated user crashing the system directly contradicted this guarantee.
  • Points over Bounty: I clarified that while I understood the bounty exclusion for upstream bugs, the finding was undeniably valid. I requested that the status be changed to Informational so I could at least receive the reputation points I earned.

Always be polite and professional when appealing. Use the program’s own terminology to make your case.

The Victory

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.

Takeaways for Fellow Hunters

  • Look beyond standard commands: Custom functions in databases (like Lua scripts or modules) are often less tested than core commands.
  • Read the Policy: Knowing the difference between an Out-of-Scope target and an Upstream rule can save your report.
  • Don’t be afraid to appeal: If your PoC is solid and proves real-world impact, politely argue your case. A “Not Applicable” isn’t always the end of the road.
  • Take it upstream: If a cloud provider won’t pay you for an upstream bug, take that validated PoC straight to the vendor. You might get a CVE or a bounty from them directly!

Happy Hacking!

#BugBounty #CyberSecurity #EthicalHacking #Bugcrowd #Infosec #DoS #0day #PenetrationTesting #CloudSecurity #HackerCommunity

Press enter or click to view image in full size


文章来源: https://infosecwriteups.com/not-applicable-to-victory-how-i-escalated-a-p2-dos-vulnerability-on-bugcrowd-c5fa05ab4727?source=rss----7b722bfd1b8d--bug_bounty
如有侵权请联系:admin#unsafe.sh