xref: /aosp_15_r20/external/curl/docs/BUG-BOUNTY.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker<!--
2*6236dae4SAndroid Build Coastguard WorkerCopyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard Worker
4*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
5*6236dae4SAndroid Build Coastguard Worker-->
6*6236dae4SAndroid Build Coastguard Worker
7*6236dae4SAndroid Build Coastguard Worker# The curl bug bounty
8*6236dae4SAndroid Build Coastguard Worker
9*6236dae4SAndroid Build Coastguard WorkerThe curl project runs a bug bounty program in association with
10*6236dae4SAndroid Build Coastguard Worker[HackerOne](https://www.hackerone.com) and the [Internet Bug
11*6236dae4SAndroid Build Coastguard WorkerBounty](https://internetbugbounty.org).
12*6236dae4SAndroid Build Coastguard Worker
13*6236dae4SAndroid Build Coastguard Worker## How does it work?
14*6236dae4SAndroid Build Coastguard Worker
15*6236dae4SAndroid Build Coastguard WorkerStart out by posting your suspected security vulnerability directly to [curl's
16*6236dae4SAndroid Build Coastguard WorkerHackerOne program](https://hackerone.com/curl).
17*6236dae4SAndroid Build Coastguard Worker
18*6236dae4SAndroid Build Coastguard WorkerAfter you have reported a security issue, it has been deemed credible, and a
19*6236dae4SAndroid Build Coastguard Workerpatch and advisory has been made public, you may be eligible for a bounty from
20*6236dae4SAndroid Build Coastguard Workerthis program. See the [Security Process](https://curl.se/dev/secprocess.html)
21*6236dae4SAndroid Build Coastguard Workerdocument for how we work with security issues.
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard Worker## What are the reward amounts?
24*6236dae4SAndroid Build Coastguard Worker
25*6236dae4SAndroid Build Coastguard WorkerThe curl project offers monetary compensation for reported and published
26*6236dae4SAndroid Build Coastguard Workersecurity vulnerabilities. The amount of money that is rewarded depends on how
27*6236dae4SAndroid Build Coastguard Workerserious the flaw is determined to be.
28*6236dae4SAndroid Build Coastguard Worker
29*6236dae4SAndroid Build Coastguard WorkerSince 2021, the Bug Bounty is managed in association with the Internet Bug
30*6236dae4SAndroid Build Coastguard WorkerBounty and they set the reward amounts. If it would turn out that they set
31*6236dae4SAndroid Build Coastguard Workeramounts that are way lower than we can accept, the curl project intends to
32*6236dae4SAndroid Build Coastguard Worker"top up" rewards.
33*6236dae4SAndroid Build Coastguard Worker
34*6236dae4SAndroid Build Coastguard WorkerIn 2022, typical "Medium" rated vulnerabilities have been rewarded 2,400 USD
35*6236dae4SAndroid Build Coastguard Workereach.
36*6236dae4SAndroid Build Coastguard Worker
37*6236dae4SAndroid Build Coastguard Worker## Who is eligible for a reward?
38*6236dae4SAndroid Build Coastguard Worker
39*6236dae4SAndroid Build Coastguard WorkerEveryone and anyone who reports a security problem in a released curl version
40*6236dae4SAndroid Build Coastguard Workerthat has not already been reported can ask for a bounty.
41*6236dae4SAndroid Build Coastguard Worker
42*6236dae4SAndroid Build Coastguard WorkerDedicated - paid for - security audits that are performed in collaboration
43*6236dae4SAndroid Build Coastguard Workerwith curl developers are not eligible for bounties.
44*6236dae4SAndroid Build Coastguard Worker
45*6236dae4SAndroid Build Coastguard WorkerVulnerabilities in features that are off by default and documented as
46*6236dae4SAndroid Build Coastguard Workerexperimental are not eligible for a reward.
47*6236dae4SAndroid Build Coastguard Worker
48*6236dae4SAndroid Build Coastguard WorkerThe vulnerability has to be fixed and publicly announced (by the curl project)
49*6236dae4SAndroid Build Coastguard Workerbefore a bug bounty is considered.
50*6236dae4SAndroid Build Coastguard Worker
51*6236dae4SAndroid Build Coastguard WorkerOnce the vulnerability has been published by curl, the researcher can request
52*6236dae4SAndroid Build Coastguard Workertheir bounty from the [Internet Bug Bounty](https://hackerone.com/ibb).
53*6236dae4SAndroid Build Coastguard Worker
54*6236dae4SAndroid Build Coastguard WorkerBounties need to be requested within twelve months from the publication of the
55*6236dae4SAndroid Build Coastguard Workervulnerability.
56*6236dae4SAndroid Build Coastguard Worker
57*6236dae4SAndroid Build Coastguard WorkerThe curl security team reserves themselves the right to deny or allow bug
58*6236dae4SAndroid Build Coastguard Workerbounty payouts on its own discretion. There is no appeals process.
59*6236dae4SAndroid Build Coastguard Worker
60*6236dae4SAndroid Build Coastguard Worker## Product vulnerabilities only
61*6236dae4SAndroid Build Coastguard Worker
62*6236dae4SAndroid Build Coastguard WorkerThis bug bounty only concerns the curl and libcurl products and thus their
63*6236dae4SAndroid Build Coastguard Workerrespective source codes - when running on existing hardware. It does not
64*6236dae4SAndroid Build Coastguard Workerinclude curl documentation, curl websites, or other curl related
65*6236dae4SAndroid Build Coastguard Workerinfrastructure.
66*6236dae4SAndroid Build Coastguard Worker
67*6236dae4SAndroid Build Coastguard WorkerThe curl security team is the sole arbiter if a reported flaw is subject to a
68*6236dae4SAndroid Build Coastguard Workerbounty or not.
69*6236dae4SAndroid Build Coastguard Worker
70*6236dae4SAndroid Build Coastguard Worker## Third parties
71*6236dae4SAndroid Build Coastguard Worker
72*6236dae4SAndroid Build Coastguard WorkerThe curl bug bounty does not cover flaws in third party dependencies
73*6236dae4SAndroid Build Coastguard Worker(libraries) used by curl or libcurl. If the bug triggers because of curl
74*6236dae4SAndroid Build Coastguard Workerbehaving wrongly or abusing a third party dependency, the problem is rather in
75*6236dae4SAndroid Build Coastguard Workercurl and not in the dependency and then the bounty might cover the problem.
76*6236dae4SAndroid Build Coastguard Worker
77*6236dae4SAndroid Build Coastguard Worker## How are vulnerabilities graded?
78*6236dae4SAndroid Build Coastguard Worker
79*6236dae4SAndroid Build Coastguard WorkerThe grading of each reported vulnerability that makes a reward claim is
80*6236dae4SAndroid Build Coastguard Workerperformed by the curl security team. The grading is based on the CVSS (Common
81*6236dae4SAndroid Build Coastguard WorkerVulnerability Scoring System) 3.0.
82*6236dae4SAndroid Build Coastguard Worker
83*6236dae4SAndroid Build Coastguard Worker## How are reward amounts determined?
84*6236dae4SAndroid Build Coastguard Worker
85*6236dae4SAndroid Build Coastguard WorkerThe curl security team gives the vulnerability a score or severity level, as
86*6236dae4SAndroid Build Coastguard Workermentioned above. The actual monetary reward amount is decided and paid by the
87*6236dae4SAndroid Build Coastguard WorkerInternet Bug Bounty..
88*6236dae4SAndroid Build Coastguard Worker
89*6236dae4SAndroid Build Coastguard Worker## Regarding taxes, etc. on the bounties
90*6236dae4SAndroid Build Coastguard Worker
91*6236dae4SAndroid Build Coastguard WorkerIn the event that the individual receiving a bug bounty needs to pay taxes on
92*6236dae4SAndroid Build Coastguard Workerthe reward money, the responsibility lies with the receiver. The curl project
93*6236dae4SAndroid Build Coastguard Workeror its security team never actually receive any of this money, hold the money,
94*6236dae4SAndroid Build Coastguard Workeror pay out the money.
95