Description

Donorbox is a technology company established in 2014. The company provides an online fundraising platform enabling individuals and nonprofit organizations to facilitate online donations. The platform is utilized by various types of organizations, including charities, religious institutions, schools, animal welfare groups, political campaigns, among others.

Bounties

This is a responsible disclosure program without bounties.

Rules of engagement
Not applicable
Not applicable
Not applicable
Not applicable

By participating in this program, you agree to:

  • Respect the Community Code of Conduct
  • Respect the Intigriti Terms and Conditions
  • Respect the scope of the program
  • Not discuss or disclose vulnerability information without prior written consent (including PoC's on YouTube and Vimeo)

Validation times

We will validate all submissions within the below timelines, once your submission has been verified by Intigriti.
Submissions validated outside of this may be awarded a $25 bonus.

Vulnerability Severity Time to validate
Exceptional 5 Working days
Critical 5 Working days
High 10 Working days
Medium 15 Working days
Low 15 Working days

This remains at the discretion of Donorbox to award.

Check our fix
We offer up to $50 bonus to verify a resolved issue for us (when requested).
This remains at the discretion of Donorbox to award.

Domains

Donorbox Live is a mobile app that allows orgs to connect Stripe-sanctioned card readers and accept in person payments. See the infrastructure section below for details.

This is the customer support admin console used by Donorbox employees. A donorbox.org account (signed in via Google SSO and with MFA enabled) is required to access this. Additionally, you must be invited to the Rebel Idealist organization in order to gain initial admin access. Please report any unauthorized access to this page.

Donorbox Live is a mobile app that allows orgs to connect Stripe-sanctioned card readers and accept in person payments. See the infrastructure section below for details.

This is the website which includes any page you can navigate to from www.donorbox.org, e.g., www.donorbox.org/pricing.

This is an example of an embed form. Embed forms can be added to a separate website used by the organization. Changing the organization who receives the donation (aka hijacking) or providing fraudulent donations (like a double refund) should not be possible.

This is the admin console for organizations. When customers create an org account, they will be directed here to make changes such as creating a campaign, connecting Stripe or PayPal, and changing the donation form. Donor information and donations can be viewed.

This is an example of a hosted page, which lives under the host domain. Hosted pages are provided for organizations to use as their main website if they don't already have one. When a new donation form is created, a hosted page gets created by default.

In scope

Introduction

We are happy to announce our program! We've done our best to clean up our known issues and now would like to request your help to spot the ones we missed!

We recommend watching this video to familiar yourself with the process of signing up as a customer and creating a fundraising campaign: Fundraising for Nonprofits

If needed, donations can be simulated in the staging environment using test cards.

PS -- We are aware of the vulnerabilities associated with SEPA transactions and have measures in place to prevent exploitation of those vulnerabilities such as fraudulent refunds.

Happy Hunting :)

Our worst-case scenarios are:

  • Unauthorized Donorbox Admin access: Any external access whatsoever to the customer support admin console, which is strictly for internal employee use. No reading or changing of data should be possible by anyone outside the Rebel Idealist organization.
  • Unauthorized OrgAdmin access: The ability of an individual to read or change data from another organization to which they were not invited.
  • The ability of an individual to read or change data.
  • Donor or organization data being leaked.
  • Donor or organization account takeover.
  • Ability to steal card holder data using a legit campaign form.
  • Ability to add yourself to another organization without an invitation.
  • Ability to change the Stripe account of an organization you are not a part of.
  • Modifications made to the landing pages.
  • Donation hijacking: allowing an individual to access a legit Campaign/Event Form from a legit Org to end up donating to another Org.

Infrastructure information:
You can think of our infrastructure as 2 main parts living under 1 roof

  • The Donorbox donation platform houses all of the customer hosted pages, embed pages, customer org admin consoles, and the customer support admin console.
  • The Donorbox site (www.donorbox.org) is comprised of the landing page and any pages you can navigate to from the landing page, e.g., www.donorbox.org/pricing.

We rely on Payment Processors to fulfill the financial operation

  • Stripe: For processing cards, bank transfers, and digital wallets
  • Plaid: For ACH transfers
  • PayPal: For transferring using a PayPal account

Application management

  • We use Heroku behind CloudFlare to manage our applications.

Donorbox Live kiosk mobile app

  • Donorbox Live is a hybrid app that leverages our donation platform structure (campaigns/forms, Stripe integration) and the Stripe Terminal (an SDK that enables the use of Stripe-sanctioned card readers) to support physical cards and NFC wallets for in person payments.
  • We have apps published for both Android and iOS on their respective stores, and we support both tablets and smartphones (although the latter is just a "let it run as well" as the app is not optimized for small screens).
  • The native part of the code is in charge of interacting with the native SDK, and then we leverage web views for the UI/UX.
  • Orgs need to have a Donorbox account that is connected to Stripe. They can activate the paid add-on required for it to run, and then create a "live campaign" — a simpler kind of campaign with specific settings.
  • The app itself is a reader app, meaning it won't allow orgs to provision themselves through it. All they can do is sign in, select a live campaign, connect their readers and fundraise.

Feedback
Would you like to help us improve our program or have some feedback to share, please send your anonymous feedback here:

Program feedback link
Please note this form will be checked periodically and should not be used for submission or support queries.

Out of scope

Application

  • Ability to inject generic scripts that are non-harmful (e.g, scripts that don't steal cardholder data or allow ability to read/write unauthorized data).
  • API key disclosure without proven business impact
  • Wordpress usernames disclosure
  • Pre-Auth Account takeover/OAuth squatting
  • Self-XSS that can't be used to exploit other users
  • Verbose messages/files/directory listings without disclosing any sensitive information
  • CORS misconfiguration on non-sensitive endpoints
  • Missing cookie flags
  • Missing security headers
  • Cross-site Request Forgery with no or low impact
  • Presence of autocomplete attribute on web forms
  • Reverse tabnabbing
  • Bypassing rate-limits or the non-existence of rate-limits.
  • Best practices violations (password complexity, expiration, re-use, etc.)
  • Clickjacking without proven impact/unrealistic user interaction
  • CSV Injection
  • Sessions not being invalidated (logout, enabling 2FA, etc.)
  • Tokens leaked to third parties
  • Anything related to email spoofing, SPF, DMARC or DKIM
  • Content injection without being able to modify the HTML
  • Username/email enumeration
  • Email bombing
  • HTTP Request smuggling without any proven impact
  • Homograph attacks
  • XMLRPC enabled
  • Banner grabbing/Version disclosure
  • Not stripping metadata of files
  • Same-site scripting
  • Subdomain takeover without taking over the subdomain
  • Arbitrary file upload without proof of the existence of the uploaded file
  • Blind SSRF without proven business impact (pingbacks aren't sufficient)
  • Disclosed/misconfigured Google Maps API keys
  • Host header injection without proven business impact

General

  • In case that a reported vulnerability was already known to the company from their own tests, it will be flagged as a duplicate
  • Theoretical security issues with no realistic exploit scenario(s) or attack surfaces, or issues that would require complex end user interactions to be exploited
  • Spam, social engineering and physical intrusion
  • DoS/DDoS attacks or brute force attacks
  • Vulnerabilities that only work on software that no longer receive security updates
  • Attacks requiring physical access to a victim's computer/device, man in the middle or compromised user accounts
  • Recently discovered zero-day vulnerabilities found in in-scope assets within 14 days after the public release of a patch or mitigation may be reported, but are usually not eligible for a bounty
  • Reports that state that software is out of date/vulnerable without a proof-of-concept

Mobile

  • Shared links leaked through the system clipboard
  • Any URIs leaked because a malicious app has permission to view URIs opened
  • The absence of certificate pinning
  • Sensitive data in URLs/request bodies when protected by TLS
  • Lack of obfuscation
  • Path disclosure in the binary
  • Lack of jailbreak & root detection
  • Crashes due to malformed URL Schemes
  • Lack of binary protection (anti-debugging) controls, mobile SSL pinning
  • Snapshot/Pasteboard leakage
  • Runtime hacking exploits (exploits only possible in a jailbroken environment)
  • API key leakage used for insensitive activities/actions
Severity assessment

This program follows Intigriti's contextual CVSS standard

FAQ

Where can we get credentials for the app?

You can self-register on the application but please don’t forget to use your @intigriti.me address.

All aboard!
Please log in or sign up on the platform

For obvious reasons we can only allow submissions or applications for our program with a valid Intigriti account.

It will only take 2 minutes to create a new one or even less to log in with an existing account, so don't hesitate and let's get started. We would be thrilled to have you as part of our community.

Program specifics
No collaboration
Overall stats
submissions received
13
average payout
N/A
accepted submissions
4
total payouts
N/A
Last 90 day response times
avg. time first response
< 2 days
avg. time to decide
+3 weeks
avg. time to triage
< 3 days
Activity
12/18
logo
anikethr12
created a submission
12/16
Donorbox
published a program update
12/16
Donorbox
closed a submission
12/16
Donorbox
accepted a submission
12/16
Donorbox
closed a submission
12/16
Donorbox
closed a submission
11/29
Donorbox
closed a submission
11/26
logo
robert47
created a submission
11/15
Donorbox
accepted a submission
11/15
Donorbox
accepted a submission