Security Policy
This document explains how API Platform security issues are handled by the API Platform core team (API Platform being the code hosted in the api-platform
GitHub organization).
Reporting a Security Issue
If you think that you have found a security issue in API Platform, don't use the bug tracker and don't publish it publicly. Instead, all security issues must be sent to kevin+api-platform-security [at] dunglas.fr.
Resolving Process
For each report, we first try to confirm the vulnerability. When it is confirmed, the core team works on a solution following these steps:
- Send an acknowledgment to the reporter;レポーターに確認を送信します。
- Work on a patch;パッチに取り組みます。
- Get a CVE identifier from mitre.org;mitre.org から CVE 識別子を取得します。
- Send the patch to the reporter for review;レビューのためにパッチをレポーターに送信します。
- Apply the patch to all maintained versions of API Platform;API プラットフォームのすべての保守バージョンにパッチを適用します。
- Package new versions for all affected versions;影響を受けるすべてのバージョンの新しいバージョンをパッケージ化します。
- If the affected package is written in PHP, update the public security advisories database maintained by the FriendsOfPHP organization and which is used by the
check:security
command.影響を受けるパッケージが PHP で記述されている場合は、FriendsOfPHP 組織によって維持され、check:security コマンドで使用される公安勧告データベースを更新します。
While we are working on a patch, please do not reveal the issue publicly.
The resolution takes anywhere between a couple of days to some months depending on its complexity and the coordination with the downstream projects (see next paragraph).
Security Updates With Tidelift
API Platform Core is part of the Tidelift subscription: verified updates for zero-day vulnerabilities, coordinated security responses, and immediate notifications of which of your applications are impacted, with the fix prepared for you!
- Learn moreもっと詳しく知る
- Request a demoデモをリクエストする
Issue Severity
In order to determine the severity of a security issue we take into account the complexity of any potential attack, the impact of the vulnerability and also how many projects it is likely to affect. This score out of 15 is then converted into a level of: Low, Medium, High, Critical, or Exceptional.
Attack Complexity
Score of between 1 and 5 depending on how complex it is to exploit the vulnerability
- 4 - 5 Basic: attacker must follow a set of simple steps4 - 5 基本: 攻撃者は一連の簡単な手順に従う必要があります
- 2 - 3 Complex: attacker must follow non-intuitive steps with a high level of dependencies2 - 3 複雑: 攻撃者は、高レベルの依存関係を伴う非直感的な手順に従う必要があります
- 1 - 2 High: A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected.1 - 2 高: 攻撃の成功は、攻撃者が制御できない状況に依存します。つまり、攻撃の成功を自由に達成することはできませんが、攻撃の成功を期待するには、攻撃者が脆弱なコンポーネントに対する準備または実行にかなりの労力を費やす必要があります。
Impact
Scores from the following areas are added together to produce a score. The score for Impact is capped at 6. Each area is scored between 0 and 4.
- Integrity: Does this vulnerability cause non-public data to be accessible? If so, does the attacker have control over the data disclosed? (0-4)整合性: この脆弱性により、非公開データにアクセスできますか?もしそうなら、攻撃者は開示されたデータを制御できますか? (0-4)
- Disclosure: Can this exploit allow system data (or data handled by the system) to be compromised? If so, does the attacker have control over modification? (0-4)開示: この悪用により、システム データ (またはシステムによって処理されるデータ) が危険にさらされる可能性がありますか?その場合、攻撃者は変更を制御できますか? (0-4)
- Code Execution: Does the vulnerability allow arbitrary code to be executed on an end-users system, or the server that it runs on? (0-4)コードの実行: この脆弱性により、エンド ユーザー システムまたはそれが実行されているサーバーで任意のコードが実行される可能性がありますか? (0-4)
- Availability: Is the availability of a service or application affected? Is it reduced availability or total loss of availability of a service / application? Availability includes networked services (e.g., databases) or resources such as consumption of network bandwidth, processor cycles, or disk space. (0-4)可用性: サービスまたはアプリケーションの可用性は影響を受けますか?サービス/アプリケーションの可用性が低下したり、可用性が完全に失われたりしますか?可用性には、ネットワーク サービス (データベースなど) や、ネットワーク帯域幅、プロセッサ サイクル、ディスク容量の消費などのリソースが含まれます。 (0-4)
Affected Projects
Scores from the following areas are added together to produce a score. The score for Affected Projects is capped at 4.
- Will it affect some or all projects using a component? (1-2)コンポーネントを使用する一部またはすべてのプロジェクトに影響しますか? (1-2)
- Is the usage of the component that would cause such a thing already considered bad practice? (0-1)そのようなことを引き起こす可能性のあるコンポーネントの使用は、すでに悪い習慣と見なされていますか? (0-1)
- How common/popular is the component (e.g. Core vs Distribution vs Schema Generator)? (0-2)コンポーネントはどの程度一般的/人気がありますか (コア、ディストリビューション、スキーマ ジェネレーターなど)? (0-2)
- Are a number of well-known FOSS projects using API Platform affected that requires coordinated releases? (0-1)調整されたリリースを必要とする、API プラットフォームを使用する多くの有名な FOSS プロジェクトが影響を受けますか? (0-1)
Score Totals
- Attack Complexity: 1 - 5攻撃の複雑さ: 1 - 5
- Impact: 1 - 6インパクト: 1 - 6
- Affected Projects: 1 - 4影響を受けるプロジェクト: 1 - 4
Severity levels
- Low: 1 - 5低: 1 - 5
- Medium: 6 - 10中: 6 - 10
- High: 11 - 12高: 11 - 12
- Critical: 13 - 14クリティカル: 13 - 14
- Exceptional: 15例外的: 15
Credits
This document has been adapted from the Symfony's security policy.