GHSA-7rhv-h82h-vpjh
MEDIUMEC-CUBE has a Vulnerability that Allows MFA Bypass in the Administrative Interface
Blast Radius
ec-cube/ec-cubeReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Vulnerability Allowing MFA Bypass
Affected EC-CUBE Versions
Versions: 4.1.0 – 4.3.1
Vulnerability Overview
If an administrator’s ID and password are compromised, an issue exists that allows an attacker to bypass the normally required two-factor authentication (2FA) and log in to the administrative interface.
Severity and Impact
CVSS v3.1 score
Base score: 6.2 / Temporal score: 5.7 / Environmental score (after mitigation and countermeasures): 0.0
An attacker can forcibly overwrite the 2FA configuration of an account with administrative privileges. As a result, the legitimate administrator can be locked out, while the attacker can log in to the administrative interface and perform unauthorized actions such as viewing sensitive information or tampering with the website.
Root Cause Details
There are flaws in the access control implementation for the 2FA settings page (/admin/two_factor_auth/set).
-
TwoFactorAuthListener.php
The route for the 2FA settings page (admin_two_factor_auth_set) is included in the list of routes excluded from the 2FA authentication check. -
TwoFactorAuthController.php
Even for users who already have 2FA configured, the implementation allows reconfiguration (overwriting) of the 2FA secret key without passing 2FA authentication.
Attack Preconditions and Steps
Preconditions:
- The attacker knows the administrative user’s ID and password.
- 2FA is enabled for that user.
Attack Steps:
- Attempt to log in using the ID and password.
- When the 2FA code entry screen is displayed, do not enter a code; instead, directly modify the URL to access
/admin/two_factor_auth/set. - Because access is not denied, the attacker can generate and save (overwrite) a new 2FA secret key.
MFAバイパスが可能な脆弱性
EC-CUBEバージョン
バージョン: 4.1.0 ~ 4.3.1
脆弱性の概要
管理者のIDとパスワードが漏洩している場合、本来必要な2段階認証を回避して管理画面にログインできてしまう問題です。
深刻度と影響
CVSS3.1スコア:基本評価:6.2 / 現状評価:5.7 / 環境評価(緩和・対策後):0.0
攻撃者は管理者権限を持つアカウントの2FA設定を強制的に上書きできます。これにより、正規の管理者を締め出しつつ、攻撃者自身が管理画面へログインし、機密情報の閲覧やWebサイトの改ざんなどの不正操作を行うことが可能になります。
脆弱性の詳細な原因
システムの実装において、2FA設定画面(/admin/two_factor_auth/set)へのアクセス制御に不備があり。
- TwoFactorAuthListener.php 2FA認証チェックを除外するルート設定に、設定画面(admin_two_factor_auth_set)が含まれている。
- TwoFactorAuthController.php 既に2FA設定済みのユーザーであっても、2FA認証を通過せずに新しい鍵の再設定(上書き)を受け入れてしまう仕様になっている。
攻撃の成立条件と手順
前提条件: 管理ユーザーのIDとパスワードを知っていること。 そのユーザーで2FAが有効化されていること。
攻撃手順:
- IDとパスワードでログインを試行する。
- 2FAコード入力画面が表示されるが、入力を行わずに直接URLを書き換えて /admin/two_factor_auth/set へアクセスする。
- アクセスが拒否されないため、攻撃者は新しい2FA秘密鍵を発行し、保存(上書き)する。
- 以降、攻撃者が作成した新しい2FAコードを使ってログインが可能になる。
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | ec-cube/ec-cube | ≥ 4.1.0 | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for ec-cube/ec-cube. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Remediation status
No patched version of ec-cube/ec-cube has shipped for GHSA-7rhv-h82h-vpjh yet. Where your build allows, override or pin the dependency away from the vulnerable range, and apply any maintainer-recommended mitigation.
Mitigate without a patch
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-7rhv-h82h-vpjh is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-7rhv-h82h-vpjh. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-7rhv-h82h-vpjh in your dependencies?
O3 detects GHSA-7rhv-h82h-vpjh across Packagist dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.