Keeper Bug Bounty Program
Overview
The scope for Keeper's Bug Bounty Program is focused on securing the data of our users and company assets. Therefore, our approach is to evaluate any given report based on the specific security impact for users (versus domain + vulnerability class). Issues that do not have an information security related impact will be closed. Below we describe the various security impact buckets that are in-scope, examples of admissible vulnerability types, and domains that could potentially have meaningful security impact.
By submitting a report or otherwise disclosing a vulnerability to us (making a “Submission”), you are indicating that you have read and agree to follow the rules set forth on this page (“Program Terms”).
Ground Rules
Do:
- Do abide by these Program Terms
- Do be patient & make a good faith effort to provide clarifications to any questions we may have about your submission
- Do be respectful when interacting with our team, and our team will do the same
- Do perform testing only using accounts that are your own personal/test accounts
- Do exercise caution when testing to avoid negative impact to data or services
- Do respect privacy & make a good faith effort not to change or destroy Keeper or personal data
- Do stop whenever you are unsure if your test case may cause, or have caused, destructive data or systems damage with testing a vulnerability; report your initial finding(s) and request authorization to continue testing
Do NOT:
- Do not leave any system in a more vulnerable state than you found it
- Do not use or interact with accounts you do not own
- Do not brute force credentials or guess credentials to gain access to systems or accounts
- Do not change passwords of any account that is not yours or that you do not have explicit permission to change. If ever prompted to change a password of an account you did not register yourself or an account that was not provided to you, stop and report the finding immediately
- Do not perform denial of service (DoS) attacks or related tests that would cause availability interruptions or degradation of our services
- Do not publicly disclose a vulnerability submission without our explicit review and consent
- Do not engage in any form of social engineering of Keeper employees, customers, or partners
- Do not engage or target any specific Keeper employees, customers, or partners during your testing
- Do not access, extract, or download personal or business information beyond that which is minimally necessary for your Proof-of-Concept purposes
- Do not do anything that would cause destruction of Keeper data or systems
Good Faith Disclosures and Safe Harbor
You must act in good faith when investigating and reporting vulnerabilities to us. Acting in good faith means that you will:
- Follow the rules outlined in this policy: This includes the Program Terms, Keeper Terms of Use, and any terms and conditions for Keeper's in-scope domains. If there is any inconsistency between these Program Terms and any of Keeper's other terms, these Program Terms will control.
- Respect our users’ privacy: You should only interact with Keeper accounts you own or with explicit permission from the account holder. The intent of the program is designed to hunt for vulnerabilities in our products and services. If you encounter user information during the course of your research:
- Stop at that point in your testing where you have an adequate proof of concept for submission purposes. Actions taken beyond this are not authorized
- Report the Submission with a complete proof of concept immediately to our security team so we can investigate
- Keep user information confidential; Do not save, copy, store, transfer, disclose, or otherwise retain the information
- Work with us if we have any further requests
- Extortion: You should never illegally or in bad faith leverage the existence of a vulnerability or access to sensitive or confidential information, such as making extortionate demands or ransom requests. If you find a vulnerability, report it to us with no conditions attached.
- Test with care: You should never leave a system or users in a more vulnerable state than when you found them. This means that you should not engage in testing or related activities that degrades, damages, or destroys information within our systems, or that may impact our users, such as denial of service, social engineering or spam. If you have made a good faith effort to abide by these Program Terms, we will not initiate or recommend legal action against you, and if a third party initiates legal action, we will make it known that your activities were conducted pursuant to the Bug Bounty Program. Failure to act in good faith will result in immediate disqualification from the Bug Bounty Program and ineligibility for receiving any benefit of the Bug Bounty Program. If at any point while researching a vulnerability, you are unsure whether you should continue, immediately engage with our security team.
Eligibility to Participate
To be eligible to participate in our Bug Bounty Program, you must:
- Be at least 18 years of age
- Not be employed by Keeper or any of its affiliates or an immediate family member of a person employed by Keeper or any of its affiliates
- Not be a resident of, or make Submissions from, a country against which the United States has issued export sanctions or other trade restrictions
- Not be in violation of any national, state, or local law or regulation with respect to any activities directly or indirectly related to the Bug Bounty Program
- Not be using duplicate accounts
If (i) you do not meet the eligibility requirements above; (ii) you breach any of these Program Terms or any other agreements you have with Keeper or its affiliates; or (iii) we determine that your participation in the Bug Bounty Program could adversely impact us, our affiliates or any of our users, employees or agents, we, in our sole discretion, may remove you from the Bug Bounty Program and disqualify you from receiving any benefit of the Bug Bounty Program.
Out-of-Scope
Certain vulnerabilities are considered out-of-scope for the Bug Bounty Program. Those out-of-scope vulnerabilities include, but are not limited to:
- Vulnerabilities not involving product or coding flaws, but solely relying upon possession of stolen or compromised credentials or authentication obtained by ATO or credential stuffing, and by enumeration with pre-defined and known list of UUIDs
- Vulnerabilities dependent on Phishing in a DNS domain that is not in one of our primary service domains
- Most vulnerabilities that rely on a runtime context within a sandbox, lab, staging, testing or non-production environment
- Vulnerabilities involving stolen or compromised credentials
- Open redirect resulting in a low security impact. In the event you are able to chain with other vulnerabilities (e.g., steal tokens, SSRF, etc.), please let us know
- Credential stuffing or physical access to a device
- Any vulnerabilities requiring significant and unlikely interaction by the victim, such as disabling browser controls
- Man-in-the-Middle attacks except in mobile applications
- Account enumeration with a pre-defined and known list of UUIDs
- Invite/Promo code enumeration
- Ability to send push notifications/SMS messages/emails without the ability to change content
- Information disclosures related to existence of accounts: Account oracles, the ability to submit a phone number, email, UUID and receive back a message indicating an account exists
- Reports against Keeper services that state that a particular software component is of a specific version, and is vulnerable without an accompanying proof-of-concept
- Vulnerabilities only affecting users using outdated, unpatched, or unsupported browsers, mobile application, mobile operating system, and end-point client software, including the versions of our applications currently in the app stores
- Stack traces, path disclosure, and directory listings
- CSV injection vulnerabilities
- Best practices concerns without a demonstrable information assurance issue and proof-of-concept
- Ability to take over social media pages (Twitter, Facebook, Linkedin, etc.)
- Negligible security severity
- Speculative reports about theoretical damage -- please always provide a proof-of-concept
- Vulnerabilities that cannot be used to exploit other users or Keeper (e.g., self-xss or having a user paste JavaScript into the browser console)
- Vulnerabilities as reported by automated scanning and/or enumeration tools without additional analysis, validation, or reasoning as to how such Submissions have a demonstrable information assurance impact and vulnerability
- Distributed or denial of service attacks (DDoS/DoS) and/or reports on rate limiting issues
- Content injection or content spoofing issues
- Cross-site Request Forgery (CSRF) with minimal security implications or lack of information assurance issues (e.g., Logout CSRF, etc.)
- Missing cookie flags on non-authentication cookies
- Submissions that require physical access to a victim’s computer/device for successful exploitation
- SSL/TLS protocol scan reports reporting purported vulnerable protocol versions or handshakes
- Banner grabbing issues (figuring out what web server we use, etc.).
- Open ports or services without an accompanying proof-of-concept demonstrating a vulnerability or bonafide information assurance issues
- Physical or social engineering attempts (this includes phishing attacks against Keeper employees)
- Exposed login panels without an accompanying proof-of-concept demonstrating a vulnerability or path of exploitation
- Dangling IPs
- Subdomain takeovers - please demonstrate that you are able to take over the page by leaving a non-offensive message, such as your username
- Reports on third-party products, services, or applications not owned by Keeper
- Out-of-scope domains – Please refer to the scoping section
Account & Financial Fraud
Certain types of account fraud are in-scope provided that part of the attack chain relies on exploiting the workflow logic caused by technical product and services vulnerabilities, coupled with additional operational security loopholes for a hybrid end-to-end exploit. Vulnerabilities associated with fraud will be allotted a bonus payment upon validation related to financial impact. Examples of fraud exploits that are potentially in-scope would include, but are not limited to the items listed below.
Please ensure to read the Out of Scope section prior to submitting a vulnerability associated with a fraud issue. Submissions associated with credential stuffing, brute forcing, or compromised passwords from data breaches are out of scope.
Financial Fraud:
- Financial exploits in Keeper services that require multi-account collusion and abuse
Identity Fraud:
- Identity exploits involving stolen, hi-jacked and/or synthetic identities
- Identity exploits that can potentially culminate into safety issues
Each submission in this area will be reviewed on a case by case basis, and must be determined to be related to a technical product vulnerability to be considered in-scope.
Calculating Security Impact
Understanding the security impact of a given report is understanding which security buckets it lands in, understanding the scale of exposure in each of those situations, understanding what mitigating factors exist, and finally understanding what multiplying factors exist. Below are some categories to consider when assessing security impact.
Multiplying Factors
- Sensitivity of user data exposed -- when a vulnerability exposes user data, the sensitivity of the type of information exposed influences the security impact
- Scale of exposure -- when considering security impact of any given vulnerability, it’s important to understand the scale of exposure and how many potential victims exist if the vulnerability was exploited at scale
- Severity of forged actions -- when a vulnerability allows an attacker to forge requests/actions on behalf of the user, the sensitivity/severity of those actions determine the security impact. For example, changing a user’s last name, versus adding new payment information, have drastically different security impacts
- Forge communication from Keeper -- when a vulnerability allows an Attacker to send communication (and control the content) to a Victim and have it come officially from Keeper. An example would be the ability to control the contents of an in-app push notification
Mitigating Factors
- Requires user interaction -- when an exploit scenario requires a human from Keeper or a Victim to manually interact before the exploit is successful
- Authorized relationship -- when an exploit scenario involves an authorized relationship or is given express permission from the Victim
- Requires brute forcing -- exploit scenarios that require an Attacker to brute force a value in order for the exploit to be successful. For example, the need to brute force a phone number, email, or UUID. The amount this mitigating factor comes into play is dependent on how “hard” it is to brute force the value in question -- brute forcing phone numbers is much “easier” than a UUID
- Existence of rate limiting -- exploit scenarios that are mitigated by rate limiting the number of requests, inhibiting the ability to exploit a vulnerability at scale. Forging various IP headers (X-Forwarded-For, X-Real-IP, Client-IP, True-Client-IP) are not considered to be “mitigating” factor since it doesn’t require actually having unique IPs
- Physical access -- exploit scenarios requiring physical access to a device
- Noticeable to the victim -- exploits that are noticeable to the victim. For example, changing someone’s password on their account would lock them out of their account and would be immediately noticeable
- Account put into arrears or banned -- when an exploit then puts the Attacker’s account into arrears or results in a ban
- Social engineering -- when an exploit requires social engineering a person to be successful.
- Requires privileged network position -- when an exploit (often times MiTM) requires having privileged network position to be successful
- Requires multiple accounts -- when an exploit requires the ability to mint new accounts indefinitely
Confidentiality
Any information you receive or collect about us, our affiliates or any of our users, employees or agents in connection with the Bug Bounty Program (“Confidential Information”) must be kept confidential and only used in connection with the Bug Bounty Program. You may not use, disclose or distribute any such Confidential Information, including without limitation any information regarding your Submission, without our prior written consent. You must get written consent by submitting a disclosure request to Keeper.
Report Quality
High quality submissions allow our team to understand the issue better and engage the appropriate teams to fix. The best reports provide enough actionable information to verify and validate the issue without requiring any follow up questions for more information or clarification.
- Check the scope page before you begin writing your report to ensure the issue you are reporting is in scope for the program
- Think through the attack scenario and exploitability of the vulnerability and provide as many clear details as possible for our team to reproduce the issue (include screenshots when applicable)
- Please include your understanding of the security impact of the issue. Our bounty payouts are directly tied to security impact, so the more detail you can provide, the better. We cannot payout after the fact if we don’t have evidence and a mutual understanding of security severity
- In some cases, it may not be possible to have all of the context on the impact of a bug. If you’re unsure of the direct impact, but feel you may have found something interesting, feel free to submit a detailed report and ask
- Video proof-of-concepts (PoCs) will only be considered with a completed report. Stand alone video proof-of-concepts will automatically be closed
- A vulnerability must be verifiable and reproducible for us to be considered in-scope
- All reports must demonstrate security impact to be considered for bounty reward
Please note: Known vulnerabilities or submissions by researchers leading back to the same root cause will be classified as a duplicate finding.
Report States
We strive to be consistent with how we close reports and below are the details for each state:
- Needs more info: not enough actionable information in report to triage
- Not applicable: no reproducible security vulnerability or explicitly out-of-scope per our guidelines
- Duplicate: a vulnerability that has previously been found either internally or via our bug bounty program
- Triaged: either a valid report or a report that needs more investigation from an internal team, typically the former
- Resolved: a verified vulnerability that has been fixed
Bounty Amounts
We strive to reward valid reports within 14 days from the date the report reaches the triage stage, often sooner.
Previous bounty amounts are not considered precedent for future bounty amounts -- software is constantly changing and therefore the given security impact of the exact same issue at different times in the development timeline can have significantly different security impacts.
Bounty awards are not additive and are subject to change as our internal environment evolves. We determine the upper bound for security impact and award based on that impact.
We focus bounty amounts on the security impact of any given issue -- things that influence security impact are the scale of exposure and the various mitigating and multiplying factors.
We recognize that researchers value receiving bounties sooner than later, but basing payouts on security impact often requires us to get to resolution before we completely understand the potential security impact. To accomplish both of these needs, we have a hybrid model where we pay out our minimum bounty at time of triage and then full bounty at resolution once we completely understand security impact.
The general process for determining bounty:
- Determine which security impact buckets the issue falls in. It’s likely that any given issue will land in several different impact buckets -- we choose the most impactful and severe bucket. We try to answer the question “What is the most damaging thing you could do with this issue?”
- Determine the approximate scale of exposure to try and answer “how many users could be exploited by an Attacker?”
- Determine mitigating factors that reduce the security impact of different issues -- this often involves asking “What could make this vulnerability hard to exploit?” or “How sensitive are the things being changed/accessed by the vulnerability?”
- Determine multiplying factors that increase the security impact of different issues -- this also often involves asking “How sensitive are the things being changed/accessed by the vulnerability?” or “What other exposure exists that the researcher didn’t explicitly call out?”
- With the answers from above, we have a good picture of security impact and potential exploitability of any given issue and can use those details to determine bounty amount
- Follow up security bypasses on reported vulnerabilities are subject to bonus payments
The bounty ranges for the different security impact buckets:
- Exposure of User Data -- the payout ranges for this bucket range from $0 to $5,000
- Unauthorized Requests on Behalf of User/Employee -- the payout ranges for this bucket range from $0 to $5,000
- Monetary Impact -- the payout ranges for this bucket range from $0 to $5,000
Bounty payouts and amount, if any, will be determined by us in our sole discretion. In no event are we obligated to provide a payout for any submission. The format, currency and timing of all bounty payouts shall be determined by us in our sole discretion. You are solely responsible for any tax implications related to any bounty payouts you may receive.
If we receive several reports for the same issue, we offer the bounty to the earliest report for which we had enough actionable information to identify the issue.
Bounty payouts are generally determined based on the criticality of the finding. The following chart illustrates sample ranges of vulnerabilities and the severity they have historically been associated with.
Rights and Licenses
We may modify the Program Terms or cancel the Bug Bounty Program at any time.
By making a Submission, you represent and warrant that the Submission is original to you and you have the right to submit the Submission.
By making a Submission, you give us the right to use your Submission for any purpose.