avatar
Bug bounty
Public

France Identité Numérique - Public Bug Bounty Program

French government - Ministry of the Interior

Reward

Bounty
Hall of fame
€100
Low
€100
Medium
€800
High
€3,000
Critical
€25,000

Program

Avg reward
-
Max reward
-
Scopes
4

Supported languages
English
French

Hacktivity

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

📢 About France Identité

A system to prove your identity and manage the sharing of personal data online and offline.

"France Identité" is a solution developed by the French government allowing its citizens to create and manage their digital identity. The system relies on the smartcard chip embedded in every new French identity cards.

The solution allows users to:

  • identify/authenticate themselves on compatible web services
  • generate a digital proof of identity relying on PAdES signatures (aiming to replace ID copies)
  • validate a digital proof of identity
  • manage the lifecycle of their digital identity (including their PIN)
  • get a digital identity with a high level of assurance (in accordance with eIDAS regulation)

🎯 Objectives

As official French government digital identity solution, France identité must ensure constantly a high level of security for its mobile applications and its information system. In this way, we guarantee to the French citizens a trusted service. We are especially concerned about the following issues:

  • User's data exfiltration
  • Users' misused identity

📌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 Ministry of interior (ANTS, DTNUM...), FranceConnect, ANSSI, IN group, SGIN contractors (Sopra Steria, ATOS, IDEMIA/IDAKTO) and all compagnies who carried out audits on SGIN system.
  • 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 sensitive information leak, DO NOT extract/copy every document or data that is exposed and limit yourself to describe and list what is exposed.

🚥 Before to start hunting

Links to download the applications:

📈 DIAGRAMS

Service provider access with a France Identité authentication:

  • Mobile process
    FI_FS_mobile.png

  • Web browser process
    FI_FS_web.png

💎 Scenarios with special bounties

To better reflect our context and challenges, we defined several specific scenarios for which you'll be granted a maximum of twice the usual amount for a critical vulnerability (see 'Specific scenarios' scope).

All scenarios MUST follow the general rules of the Bug Bounty.
Please note that Something happens is only for the sake of the example. It can be anything at any given time that is not expected, the team will validate the submitted behavior.

If you find any issue directly related to FranceConnect please report it on the dedicated program as it will be out of the scope of the present program : https://yeswehack.com/programs/franceconnect-agentconnect-public

Scenario #1 Successfully complete the enrolment stage with an Electronic Identity card whose identification data differ from the one belonging to the FranceConnect account - 15K€

e.g. Carry out an enrollment with an electronic identity card with an identity A and a FranceConnect account belonging to an identity B.

Reminder :

  • All vulnerabilities exploited on FranceConnect side in order to carry out the attack are out of scope
  • You MUST NOT have an account previously enrolled in France Identité with the eletronic identity card used to carry out the attack - You should proceed a first enrollment.
  1. Read an electronic identity card on France Identité
  2. Choose an enrollment with FranceConnect
  3. Choose the identity provider you want
  4. Use credentials NOT corresponding to the identity on the electronic identity card ( First name, last name, date and place of birth provided by FranceConnect MUST differ from the data on the electronic identity card)
  5. Something happens
  6. You define your PIN
  7. You are enrolled in France Identité application

Scenario #2 Successfully complete the enrolment stage with another method than an electronic identity card delivered by the ministry of the interior - 25K€

  1. Read a fake electronic identity card or any other means on France Identité
  2. Choose an enrollment with FranceConnect
  3. Choose the identity provider you want
  4. Something happens
  5. You define your PIN
  6. You are enrolled in France Identité application

Scenario #3 Carry out a massive leak of electronic identity card PUK codes - 20K€

  1. Use the back-end API
  2. Something happens
  3. You leak a large amount of electronic identity card PUK codes from France identité

Scenario #4 Successfully complete a forged identity authentication to a service provider federated to FranceConnect with France identité as identity provider - 15K€

Reminder : All vulnerabilities exploited on FranceConnect or service provider side in order to carry out the attack are out of scope

  1. Use a service provider federated with FranceConnect
  2. Choose France identité as identity provider
  3. Two options here :
    • You use a France identité account (no matters which level of assurance, it could be low or high)
      or
    • You try the scenario without a France identité account
  4. Something happens
  5. You succeed in the authentication : with another identity than the one used for the enrollment (if you previously had an account on France identité) or without having an account in the app France Identité.


Reward

Asset value CVSS
Low
CVSS
Medium
CVSS
High
CVSS
Critical
Critical
€100€800€3,000€25,000
High
€100€800€3,000€10,000

Scopes

ScopeTypeAsset value
France Identité mobile application for Android (see link in program description) mobile-application-android
High
Low
€100
Medium
€800
High
€3,000
Critical
€10,000
France Identité mobile application for iOS (see link in program description) mobile-application-ios
High
Low
€100
Medium
€800
High
€3,000
Critical
€10,000
https://mobile.france-identite.gouv.fr api
High
Low
€100
Medium
€800
High
€3,000
Critical
€10,000
Specific scenarios other
Critical
Low
€100
Medium
€800
High
€3,000
Critical
€25,000

Out of scopes

  • Any asset not specified in the scope section
  • https://france-identite.gouv.fr
  • https://idp.france-identite.gouv.fr

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…)
  • Task Hijacking
  • Crashing your own application
  • Lack of client-side protections on mobile binaries: SSL pinning/binary protection/code obfuscation/jailbreak detection/root detection/anti-debugging controls/ etc
  • Lack of encryption on internal databases/preference files on mobile device
  • Exploits that are only possible on Android versions that are not currently supported at the time of the emission of the vulnerability report
  • Exploits that are only possible on IOS versions that are not currently supported at the time of the emission of the vulnerability report
  • Exploits that are only possible on a jailbroken/rooted device
  • Generic Android or iOS vulnerabilities
  • 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: ' ywh-fin-publicbbp '.


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.