Reward
Program
Hacktivity
Company
Contentsquare is a fast-growing startup founded in 2012 with the mission to improve digital experiences across the board. To do this, we developed an innovative SaaS solution that helps businesses understand how people are behaving on their digital platforms and how they can optimize the customer journey.
https://contentsquare.com/
In addition to web-based platforms, we also provide a mobile SDK (Software Development Kit) that helps our customers to optimize and understand what’s going on their mobile applications. Please find more information in the dedicated section below.
Please make sure to check the scope page before you start writing your report to make sure the security issue you are reporting is within the scope of the program.
Eligibility and Responsible Disclosure
If you believe you've found a security bug in our service, we are happy to work with you to resolve the issue promptly and ensure you are fairly rewarded for your discovery.
- Any vulnerability found must be reported exclusively through yeswehack.com
- Let us know as soon as possible upon discovery of a potential security issue, and we'll make every effort to quickly resolve the issue.
- Provide us a reasonable amount of time to understand, analyse and resolve the issue
- No vulnerability disclosure to any third-parties, including partial is allowed without formal acknowledgement of Contentsquare staff
- You must be the first reporter of a vulnerability and the vulnerability must be a qualifying vulnerability
- You must not be a former or current employee of Contentsquare or one of its contractor
- You must not be a client if you are reporting a security issue that is authenticated from a valid account you already have.
- A security issue that requires authenticated access from a valid personal account you already have, is not eligible for reward
- You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots or proof of concept code as necessary
- If you find the same vulnerability several times, please create only one report and eventually use comments. You'll be rewarded accordingly to your findings and the criticity of the asset found vulnerable.
Reports of leaks and exposed credentials
In the context of this program, we do not intend to encourage, accept or reward reports of leaks that are not applicable to our program’s scope and identified outside of our program’s scope, such as:
- Exposed credentials in/from an out-of-scope asset/source
- Sensitive information exposed in/from an out-of-scope asset/source
Also, in order not to encourage dark and grey economies, in particular the purchase, resale and trade of identifiers or stolen information, as well as all types of dangerous behavior (e.g. social engineering, ...), we will not accept or reward any report based on information whose source is not the result of failure on the part of our organization or one of our employees/service providers.
This excludes, but is not limited to:
- Stolen credentials gathered from unidentified sources (e.g. …)
- Exposed credentials that are not applicable on the program’s scope
- Exposed GitHub/GitLab (or similar) instance with no direct relation with our program’s scope
- Exposed secrets (e.g. API tokens/keys or other technical credentials) that are not directly related to the program’s scope
- Exposed PII on an out-of-scope asset
To summarize our policy, you may refer to this table :
Source of leak is in-scope | Source of leak belongs to MyCompany but is out-of-scope | Source of leak does not belong to MyCompany and is out-of-scope | |
---|---|---|---|
Impact is in-scope (e.g. valid credentials on an in-scope asset) | Eligible | Eligible | Not Eligible |
Impact is out-of-scope (e.g. valid credentials for an out-of-scope asset) | Eligible | Not Eligible | Not Eligible |
Regarding Subdomain Takeovers
- Reports submitted by you in which you cannot demonstrate your ownership of the domain are not reward eligible
- Host your proof of concept in a subdirectory and include your YesWeHack username.
- We recommend using HTML comments instead of hosting the proof-of-concept file on the main domain page.
- Subdomain takeover will only be eligible for reward if they pertain to *.contentsquare.com
Scope for the mobile SDK
We are also interested in findings related to our mobile SDK and the collection endpoints (mobile-production.content-square.net, m.csqtrk.net and s.contentsquare.net). To learn how to use and to integrate our SDK to your mobile application, please read our public documentation at https://docs.contentsquare.com/mobile-sdk-en/
In addition, you can check out the sample applications below to understand how to use our SDK.
IOS sample app: https://github.com/ContentSquare/iOS-sample-app/
Android sample app:
https://github.com/ContentSquare/Android-sample-app
React native npm package:
https://www.npmjs.com/package/@contentsquare/react-native-bridge
Please note that we do not consider vulnerabilities related to the sample applications, but only the ones that cause by our SDK
https://docs.contentsquare.com/react-native/
Rewards
Currently, the scope of our bug bounty program is limited to certain vulnerabilities and scope.
If you find the same vulnerability several times, please create only one report and eventually use comments. You'll be rewarded accordingly to your findings.
The triage team will use the "One Fix One Reward" process: if two or more endpoints/forms use the same code based and a single fix can be deployed to fix all the others weakness, only one endpoint will be considered as eligible for a reward and other reports will be closed as Informative.
Please note that Contentsquare will determine in its discretion whether a reward should be granted and the amount of the reward. But we aim to be fair.
Reward
Asset value | CVSS | CVSS | CVSS | CVSS |
---|---|---|---|---|
€0 | €450 | €900 | €2,500 | |
€0 | €300 | €700 | €2,000 |
Scopes
Scope | Type | Asset value | Expand rewards grid |
---|---|---|---|
*.contentsquare.com | Web application | ||
Low Medium High Critical | |||
https://mobile-production.content-square.net/ | Web application | ||
Low Medium High Critical | |||
https://m.csqtrk.net | Web application | ||
Low Medium High Critical | |||
https://s.contentsquare.net | Web application | ||
Low Medium High Critical | |||
Contentsquare SDK (cf : Program Description) | Application | ||
Low Medium High Critical |
Out of scopes
- partnerportal.contentsquare.com
- uxawards.contentsquare.com
- www.contentsquare.com
- community.contentsquare.com
- brand.contentsquare.com
- blog.contentsquare.com
- csquad.contentsquare.com
- csd-*.contentsquare.com
- go.contentsquare.com
- hackathon.contentsquare.com
- security.contentsquare.com
- support.contentsquare.com
- learn.contentsquare.com
- learn2.contentsquare.com
- csq.contentsquare.com
- university.contentsquare.com
- foundation.contentsquare.com
- content.contentsquare.com
- partners.contentsquare.com
- incident.contentsquare.com
- *.wwko*.contentsquare.com
- explore.contentsquare.com
- get.contentsquare.com
- trust.contentsquare.com
- loyalty.contentsquare.com
Vulnerability types
Qualifying vulnerabilities
- Remote Code Execution (RCE)
- SQL Injection (SQLi)
- Local files access and manipulation (LFI, RFI, XXE, SSRF, XSPA)
- Cross-Site Scripting (XSS)
- Cross-site Request Forgery (CSRF) with real security impact
- Cross-Origin Resource Sharing (CORS) with real security impact
- Insecure Direct Object Reference (IDOR)
- Horizontal and vertical privilege escalation
- Broken authentication & session management
- Business Logic Errors vulnerability with real security impact
- Exposure of sensitive secrets
- SSRF with real security impact
- Open redirect with real security impact
- Exposed secrets, credentials or sensitive information on an asset under our control and affecting at least one of our scopes
- Subdomain-takeover ( findings will be considered for bounty rewards based on a case-by-case evaluation, taking into account various factors )
Non-qualifying vulnerabilities
- Tabnabbing
- Missing cookie flags
- Content/Text injections
- Mixed content warnings
- Clickjacking/UI redressing
- Denial of Service (DoS) attacks
- Known CVEs without working PoC
- Open ports without real security impact
- Social engineering of staff or contractors
- Presence of autocomplete attribute on web forms
- Vulnerabilities affecting outdated browsers or platforms
- Outdated libraries without a demonstrated security impact
- Any hypothetical flaw or best practices without exploitable PoC
- Expired certificate, best practices and other related issues for TLS/SSL certificates
- Unexploitable vulnerabilities (ex: XSS or Open Redirect in HTTP Host Header)
- Reports with attack scenarios requiring MITM or physical access to victim's device
- Missing security-related HTTP headers which do not lead directly to a vulnerability
- Unauthenticated / Logout / Login and other low-severity Cross-Site Request Forgery (CSRF)
- Session management issues (e.g. lack of expiration, no logout on password change, concurrent sessions)
- Disclosure of information without direct security impact (e.g. stack traces, path disclosure, directory listings, software versions, IP disclosure, 3rd party secrets)
- CSV injection
- HTTP Strict Transport Security Header (HSTS)
- Subdomain takeover without a full working PoC
- Blind SSRF without exploitable vulnerabilities and PoC (e.g. DNS & HTTP pingback, Wordpress XMLRPC)
- Lack of rate-limiting, brute-forcing or captcha issues
- User enumeration (email, alias, GUID, phone number, object ID)
- Password requirements policies (length / complexity / reuse)
- Ability to spam users (email / SMS / direct messages flooding)
- Disclosed or misconfigured public API keys (e.g. Google Maps, Firebase, analytics tools...)
- Recently disclosed CVEs (less than 30 days sinces patch release)
- Password reset token leak on trusted third-party website via Referer header (eg Google Analytics, Facebook…)
- Any attack requiring a social-engineering step
- Invalid or missing email security records (e.g. SPF, DKIM, DMARC)
- Self XSS, "HTTP Host Header" XSS or XSS that cannot be used to impact other users
- Open redirect without real security impact
- Brute force/password reuse attacks
- CORS configuration, except if you can show a way to exploit this vulnerability to compromise sensitive information
- Reports from automated web vulnerability scanners (Acunetix, Vega, etc.) that have not been validated
- Reports of private IP addresses exposure
- XML-RPC enabled
- Stolen secrets, credentials or information gathered from a third-party asset that we have no control over
- Exposed secrets, credentials or information on an asset under our control that are not applicable to the program’s scope
- Race condition
- Broken Link/Social media Hijacking
- Malicious file upload (e.g. EICAR files, .EXE)
- GraphQL Introspection is enabled
- Pre-account takeover (e.g., account creation via OAuth)
Hunting requirements
Account access
You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about 10 requests per second.
Try to include the user agent we specified in all your requests.
User agent
Please append to your user-agent header the following value: ' CS_YWH/BB '.
Hunters collaboration
When submitting new report, you can add up to 5 collaborators, and define the reward split ratio.
For more information, see help center.
Note: For reports that have already been rewarded, it is not possible to redistribute the rewards.