In the high-stakes world of cybersecurity, bug bounty programs have become a cornerstone of proactive defense. Companies like Google, Microsoft, and countless others invite ethical hackers from around the globe to test their digital fortresses, offering rewards for every critical flaw discovered. It’s a win-win: organizations strengthen their security, and researchers get recognition and compensation for their skills.
However, for both new hackers and the organizations running these programs, a common point of confusion and frustration is the seemingly arbitrary line between a qualifying vulnerability (one that earns a bounty) and a non-qualifying vulnerability (one that doesn’t). This distinction isn’t about the technical skill of the hacker but about the real-world risk and impact of the finding.
Understanding this difference is not just about getting paid; it’s about speaking the same language of risk that businesses use. Let’s dive deep into what separates a high-impact finding from a well-intentioned but ultimately irrelevant report.
The Golden Rule: Impact, Impact, Impact
At its core, the difference between a qualifying and non-qualifying vulnerability boils down to one word: impact. A qualifying vulnerability is a flaw that, if exploited, could lead to a tangible negative consequence for the application, its users, or the business itself.
Key questions to determine impact:
- Can an attacker access data they shouldn’t? (Confidentiality)
- Can an attacker modify or destroy data? (Integrity)
- Can an attacker disrupt the service for others? (Availability)
- Can this lead to a direct financial loss for the company or its users?
- Can this significantly damage the company’s reputation?
If the answer to any of these is a clear “yes,” you’re likely looking at a qualifying vulnerability. If not, you might be in the territory of non-qualifying issues.
Part 1: Qualifying Vulnerabilities – The Crown Jewels of a Bug Bounty
These are the vulnerabilities that keep security teams and CEOs awake at night. They represent a clear and direct threat and are the primary targets of malicious actors. They almost always fall under the OWASP Top 10 categories.
Common Examples of Qualifying Vulnerabilities:
- Remote Code Execution (RCE): The “holy grail” for attackers. This vulnerability allows an attacker to execute arbitrary code or commands on the target server. The impact is total compromise of the underlying system.
- Example: A flaw in an image upload function that doesn’t properly validate file types, allowing an attacker to upload a malicious script and then trigger its execution.
- SQL Injection (SQLi): An attacker can manipulate a web application’s database queries to view, modify, or delete sensitive information that they are not authorized to access. This can lead to massive data breaches.
- Example: Entering
' OR '1'='1into a login form’s password field, tricking the database into returning all user records and bypassing authentication.
- Example: Entering
- Cross-Site Scripting (XSS): This allows an attacker to inject malicious client-side scripts into web pages viewed by other users. This can be used to steal session cookies, deface websites, or redirect users to phishing pages.
- Example: A comment field on a blog that doesn’t sanitize user input. An attacker posts a comment containing a JavaScript payload that steals the session cookie of anyone who views the comment.
- Broken Access Control: This occurs when users can act outside of their intended permissions. A common subtype is Insecure Direct Object References (IDOR), where an attacker can access another user’s data by manipulating an identifier (like a user ID or document number) in the URL or API request.
- Example: Changing the URL from
https://example.com/invoice?id=12345tohttps://example.com/invoice?id=12346and successfully viewing someone else’s invoice.
- Example: Changing the URL from
- Authentication Bypass: Flaws that allow an attacker to log into an application without possessing the proper credentials. This could be a logic flaw in a multi-factor authentication process or a weak password recovery mechanism.
- Example: A “forgot password” feature that allows an unlimited number of guesses for a security question, enabling a brute-force attack.
- Sensitive Data Exposure: This involves the failure to properly protect sensitive data like passwords, credit card numbers, or health records. This isn’t just about stealing data in transit; it’s about finding plaintext passwords in logs, unencrypted databases, or API responses that leak more information than necessary.
The Common Thread: Each of these vulnerabilities has a direct, exploitable path to a significant security failure. They are unambiguous in their danger.
Part 2: Non-Qalifying Vulnerabilities – The False Alarms and Out-of-Scope Issues
Non-qualifying vulnerabilities are findings that, while they may represent a deviation from “perfect” security, do not present a realistic or direct risk of exploitation leading to impactful compromise. They are often rejected with messages like “This is a best practice, not a vulnerability” or “This is out of scope.”
Common Categories of Non-Qualifying Vulnerabilities:
- Out-of-Scope Assets: Every bug bounty program has a scope—a clearly defined list of domains, subdomains, and applications that are fair game. Testing anything outside this scope is a violation of the program’s rules.
- Examples: Finding a vulnerability in
blog.company.comwhen the scope is onlyapp.company.com; testing third-party services that the company uses but does not own (e.g., their Zendesk support portal or Salesforce instance).
- Examples: Finding a vulnerability in
- Informational or Best-Practice Issues: These are findings that highlight a lack of adherence to security best practices but do not, by themselves, lead to a compromise.
- Examples:
- Missing Security Headers: The absence of headers like
Content-Security-PolicyorHTTP-Strict-Transport-Security(HSTS). While important for defense-in-depth, their absence is not an exploitable vulnerability. - Email Spoofing (without further impact): Demonstrating that you can send an email that appears to be from the company’s domain (due to misconfigured SPF/DKIM/DMARC records) is often non-qualifying unless you can chain it with a phishing campaign that has a direct impact on the application itself.
- Software Version Disclosure: Finding that a server is running an old version of Apache or Nginx. Without a corresponding exploit for that specific version, this is just informational.
- Missing Security Headers: The absence of headers like
- Examples:
- Theoretical or Unproven Vulnerabilities: A report must demonstrate a clear exploitation path. Vague statements without proof of concept are typically dismissed.
- Example: “I think there might be a race condition in the payment processing function.” Without a working exploit that shows how to manipulate the race condition to pay less or get items for free, the report lacks evidence.
- Low-Impact Issues with No Realistic Exploit Scenario: Some vulnerabilities are technically real but are so difficult to exploit or have such a minimal impact that they don’t warrant a bounty.
- Examples:
- Self-XSS: A Cross-Site Scripting vulnerability that can only be triggered by the user themselves. If it requires significant social engineering to trick a user into pasting malicious code into their own browser console, it’s often considered low-impact.
- Logout CSRF: A flaw that allows an attacker to log a user out of the application. While annoying, it doesn’t lead to data theft or system compromise.
- Clickjacking on a Non-Sensitive Page: Being able to “frame” a public, informational page is not a security risk.
- Examples:
- Issues Already Known to the Company: If the security team is already aware of and working on a major architectural flaw, duplicate reports for specific instances of that flaw may be marked as informative or non-qualifying.
The Gray Area: Context is King
The line between qualifying and non-qualifying is not always black and white. Context is everything. A vulnerability that is non-qualifying in one situation can become critical in another.
Case Study: Missing Security Headers
- Normally: Non-qualifying (informational).
- With a Chained Attack: If you find an XSS vulnerability that is only mitigated by a strong
Content-Security-Policyheader, and that header is missing, your report becomes much stronger. You’ve found a direct exploitation path that the missing header enables. In this case, the combination of the two findings (XSS + missing CSP) is a qualifying vulnerability.
This is why top bug bounty hunters are masters of chaining vulnerabilities. They take several low- or medium-severity issues and combine them to achieve a high-impact result.
Best Practices for Hackers and Organizations
For Ethical Hackers:
- Read the Scope: Before you write a single line of code, read the bug bounty program’s policy thoroughly. Understand what’s in scope, what’s out of scope, and what types of vulnerabilities are explicitly excluded.
- Focus on Impact: Always ask yourself, “What can an attacker actually do with this?” Frame your report around the potential business impact.
- Provide a Clear Proof of Concept (PoC): Don’t just describe the flaw. Show it. A video, screenshot, or step-by-step guide that demonstrates the exploitation is invaluable and separates a high-quality report from a low-quality one.
- Don’t Get Discouraged: Having a report marked as “Not Applicable” or “Informative” is a normal part of the learning process. Use the feedback to refine your approach for next time.
For Organizations Running Bug Bounty Programs:
- Be Exceptionally Clear: Your program policy should be a model of clarity. Define your scope with precise URLs, list all ineligible vulnerability types, and provide examples.
- Provide Constructive Feedback: When you close a report as non-qualifying, explain why in a way that educates the researcher. This builds a positive relationship with the security community.
- Triage Effectively: Have a competent team that can quickly and accurately assess the true impact of a reported vulnerability, especially those in the gray area.
Conclusion: A Shared Goal of Security
The distinction between qualifying and non-qualifying vulnerabilities is not a arbitrary gatekeeping mechanism. It’s a necessary filter to help organizations prioritize their remediation efforts on the flaws that pose genuine threats to their business and users.
For ethical hackers, understanding this distinction is a critical skill. It elevates you from someone who can find bugs to a strategic partner who understands risk. It’s the difference between shouting “I found something!” and calmly stating, “Here is how an attacker could harm your business, and here is the proof.”
By aligning on the principles of impact and context, both security teams and researchers can work together more effectively to build a safer digital world for everyone.