avatar
Bug bounty
Public

DINUM - Démarches Simplifiées - Public Bug Bounty Program

The Direction Interministérielle du NUMérique (DINUM) is in charge of the French State's digital transformation for the benefit of citizens and civil servants alike, in all its aspects. It supports public services, advises the government and develops common resources.

Reward

Bounty
Hall of fame
€50
Low
€50
Medium
€500
High
€1,500
Critical
€5,000

Program

Avg reward
€383.33
Max reward
€1,500
Scopes
5

Supported languages
French
English

Hacktivity

Reports
60
1st response
< 1 day
Reports last 24h
-
Reports last week
-
Reports this month
-

About us

The Direction Interministérielle du NUMérique (DINUM)

The Direction Interministérielle du NUMérique (DINUM) is in charge of the French State's digital transformation for the benefit of citizens and civil servants alike, in all its aspects:

  • Modernisation of the State's information system
  • Quality of digital public services
  • Creation of innovative services for citizens
  • Design of digital collaborative work tools for agents

It supports public services, advises the government and develops common resources such as the Inter-ministerial State Network (RIE) or the French eIDAS node (FranceConnect).

Démarches Simplifiées

The DINUM is developing the "Démarches Simplifiées" system for the benefit of all French administrations/public organisations. This is a fully online application that allows all organisations with public services missions to create digital procedures in a few minutes and manage users' requests on a dedicated platform.

It also allows citizens to manage and keep track of their own procedures through a dedicated dashboard.

The DINUM Bug Bounty approach

The DINUM considers crucial to work with trusted and qualified security researchers to identify weaknesses in its applications, regardless of the technology used, and improve its assest security by leveraging the YWH community's motivation and skills.

If you believe you have found a security problem in our products or services we'll be happy to hear about it as well as to work with you on fixing it as quickly as possible.

Of course, we expect you to work in a responsible manner given out applications' contexts in order to avoid any interruption of service and to protect the privacy of our users. Thus, please do not try to over-exploit a bug, in doubt please contact us for further guidance.

As the French public state is committed to an open data approach, most of our applications' source codes are publicly available on GitHub . If proposals for fixes and improvements on the concerned GitHub project will be appreciated mind that reporting any security issue through this mean is forbidden.

What kind of data is stored by Démarches Simplifiées?

  • All fields in a procedure that contain personal data
  • All attachments submitted by users

Regarding testing conditions

How to access the scope/retrieve an account

Two "démarches" will be at your disposal for the purpose of your test :

To ease report management, we kindly ask you to use your YWH aliases (*@yeswehack.ninja) for your main account and subaccounts, you can retrieve your aliases here.

You'll be granted the 'utilisateur' role by default, no 'instructeur' account will be handed out in the framework of this program.

As you'll be working in production, other legitimate/official 'démarches' are out of the scope of this program in order to not impact legitimate users. Thus, mind that any report based on exploitation involving other 'démarches' will be considered as out of scope/won't be eligible for reward.

Where to find our application's code and documentation

The code of the application is open source and is available on GitHub :
https://github.com/demarches-simplifiees/demarches-simplifiees.fr

The code of the encryption brick of the solution is also available on GitHub :
https://github.com/demarches-simplifiees/ds_proxy

Concerning the API, all the documentation is available here :
https://doc.demarches-simplifiees.fr/pour-aller-plus-loin/graphql

The https://doc.demarches-simplifiees.fr/ site contains all the documentation needed to understand how the platform works.

About the DS Proxy scope and its reward grid

DS Proxy is an HTTP streaming encryption proxy. It is used by our application as a mean to provide protection against unauthorized access to shared object storage spaces by storing only encrypted data.

We're willing to offer a higher reward for any vulnerability pertaining to this specific functionality of the application, i.e. this specific reward grid is only applicable to issues related to encryption through this module.

About AgentConnect/FranceConnect

The AgentConnect/FranceConnect authentication feature is out of the scope of this program. If you need to reach out the concerned team you may do so through their public program : https://yeswehack.com/programs/franceconnect-agentconnect-public.

Program rules

Testing Policy and Responsible Disclosure

Please adhere to the following rules while performing research on this program:

  • Denial of service (DoS) attacks on our applications, servers, networks or infrastructure are strictly forbidden.
  • Avoid tests that could cause degradation or interruption of our services.
  • Do not use automated scanners or tools that generate large amount of network traffic.
  • Do not leak, manipulate, or destroy any user data or files in any of our applications/servers.
  • Do not copy any files from our applications/servers and disclose them.
  • No vulnerability disclosure, full, partial or otherwise, is allowed.

Reward Eligibility and Amount

We are happy to thank everyone who submits valid reports which help us improve our security, however only those that meet the following eligibility requirements may receive a monetary reward:

  • You must be the first reporter of a vulnerability.
  • The vulnerability must be a qualifying vulnerability (see below).
  • The report must contain the following elements:
    • Clear textual description of the vulnerability, how it can be exploited, the security impact it has on the application, its users and our organisation, and remediation advice on fixing the vulnerability
    • Proof of exploitation: screenshots demonstrating the exploit was performed, and showing the final impact
    • Provide complete steps with the necessary information to reproduce the exploit, including (if necessary) code snippets, payloads, commands etc
  • You must not break any of the testing policy rules listed above.
  • You must not be a former or current employee of our organisation or one of its contractors.
  • If you find the same vulnerability several times, please create only one report and eventually use comments. You'll be rewarded according to your findings.
  • The triage team will use the "One Fix One Reward" process: if two or more endpoints/forms use the same code base and a single fix can be deployed to fix all the other weaknesses, only one endpoint will be considered as eligible for a reward and other reports will be closed as Informative/Duplicate.

Reward amounts are based on:

  • Reward grid of the report's scope
  • CVSS scoring and actual business impact of the vulnerability upon performing risk analysis

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 behaviour (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
  • 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 our organization but is out-of-scope Source of leak does not belong to our organization 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

Important precautions and limitations

As a complement to the Program’s rules and testing policy :

  • DO NOT alter compromised accounts by creating, deleting or modifying any data
  • DO NOT use compromised accounts to search for post-auth vulnerabilities (they won’t be eligible anyway)
  • DO NOT include Personally Identifiable Information (PII) in your report and please REDACT/OBFUSCATE the PII that is part of your PoC (screenshot, server response, JSON file, etc.) as much as possible.
  • In case of exposed credentials or secrets, limit yourself to verifying the credentials validity
  • In case of sensitivie information leak, DO NOT extract/copy every document or data that is exposed and limit yourself to describe and list what is exposed.


Reward

Asset value CVSS
Low
CVSS
Medium
CVSS
High
CVSS
Critical
Critical
€50€500€1,500€5,000
High
€50€500€1,000€3,000

Scopes

ScopeTypeAsset value
https://www.demarches-simplifiees.fr web-application
High
Low
€50
Medium
€500
High
€1,000
Critical
€3,000
https://www.demarches-simplifiees.fr/graphql api
High
Low
€50
Medium
€500
High
€1,000
Critical
€3,000
https://www.demarches-simplifiees.fr/api/v2/graphql api
High
Low
€50
Medium
€500
High
€1,000
Critical
€3,000
https://static.demarches-simplifiees.fr api
High
Low
€50
Medium
€500
High
€1,000
Critical
€3,000
DS proxy (see https://github.com/demarches-simplifiees/ds_proxy) other
Critical
Low
€50
Medium
€500
High
€1,500
Critical
€5,000

Out of scopes

  • All domains or subdomains not listed in the above list of "Scopes" are considered out of scope
  • https://doc.demarches-simplifiees.fr
  • https://beta.gouv.fr/startups/demarches-simplifiees.fr
  • 'démarches' other than the two provided for the prupose of your tests
  • AgentConnect/FranceConnect authentication feature

Vulnerability types

Qualifying vulnerabilities

  • SQL Injection (SQLi)
  • Cross-Site Scripting (XSS)
  • Remote Code Execution (RCE)
  • Insecure Direct Object Reference (IDOR)
  • Horizontal and vertical privilege escalation
  • Authentication bypass & broken authentication
  • Business Logic Errors vulnerability with real security impact
  • Local files access and manipulation (LFI, RFI, XXE, SSRF, XSPA)
  • Cross-Origin Resource Sharing (CORS) with real security impact
  • Cross-site Request Forgery (CSRF) with real security impact
  • Open Redirect
  • Exposed secrets, credentials or sensitive information on an asset under our control and affecting at least one of our scopes

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
  • Self-XSS or XSS that cannot be used to impact other users
  • 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)
  • Invalid or missing SPF (Sender Policy Framework), DKIM, DMARC records
  • Session expiration policies (no automatic logout, invalidation after a certain time or after a password change)
  • 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 direct impact (e.g. DNS pingback)
  • Lack of rate-limiting, brute-forcing or captcha issues
  • User enumeration (email, alias, GUID, phone number)
  • Password requirements policies (length / complexity / reuse)
  • Ability to spam users (email / SMS / direct messages flooding)
  • Disclosed / misconfigured Google API key (including Google Maps)
  • Recently disclosed 0-day vulnerabilities (less than 30 days since patch release)
  • Password reset token leak on trusted third-party website via Referer header (eg Google Analytics, Facebook…)
  • 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

Hunting requirements

User agent

Please append to your user-agent header the following value: ' bugbounty-dinum-demarchessimplifiees-public '.


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.