提出 #865999: MingSoft ms-mdiy 3.0.6 Exposure of Access Control List Files to an Unauthorized Control情報

タイトルMingSoft ms-mdiy 3.0.6 Exposure of Access Control List Files to an Unauthorized Control
説明**MingSoft MCMS ms-mdiy: Information disclosure via unauthenticated `/mdiy/form/get` and `/mdiy/dict/list` endpoints** ### Description The following front-end endpoints are accessible without authentication and leak internal configuration: | Endpoint | Disclosed data | |---|---| | `GET /mdiy/form/get.do?modelName=<name>` | Full `ModelEntity`: `modelJson` (form HTML/JS/SQL templates), `modelTableName`, `fieldMap`, field rules, etc. | | `GET /mdiy/dict/list.do?dictType=<type>` | System dictionary entries (e.g. article attributes: featured, slideshow, headline, etc.) | | `GET /mdiy/dict/listExcludeApp.do` | Cross-site dictionary data | When `isWebSubmit=true`, `/mdiy/form/get` returns the complete model definition, significantly lowering the effort required to exploit VULN-1 and VULN-2. ###Root Cause 1. Anonymous access policy for `/mdiy/**`. 2. `web.FormAction#get` returns the full entity via `ResultData.success(modelEntity)` without field filtering. 3. `web.DictAction#list` requires no authentication; only checks that `dictType` is non-empty. ### Impact - Exposure of database table names, field mappings, and business logic scripts. - Enumeration of dictionary values useful for business-logic abuse and social engineering. - Provides precise parameters (`modelName`, `modelId`, column names) for SQL injection and unauthorized data access. ### CVSS 3.1 Vector (suggested) ``` CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N Base Score: 5.3 (Medium) ``` ### Reproduction Steps and PoC **Model information disclosure:** ```http GET /mdiy/form/get.do?modelName=liuyan HTTP/1.1 Host: target:8080 ``` Response includes `modelTableName: "MDIY_FORM_LIUYANLMFF"`, full `modelJson` (HTML/JS/SQL), `fieldMap`, etc. **Dictionary information disclosure:** ```http GET /mdiy/dict/list.do?dictType=文章属性 HTTP/1.1 Host: target:8080 ``` *(URL-encode non-ASCII `dictType` values as needed.)* Response returns multiple `dictLabel` / `dictValue` pairs (e.g. featured, slideshow, etc.). ### Remediation 1. `form/get` should return only the minimum fields needed to render the form; **do not** expose SQL, scripts, or table schemas from `modelJson`. 2. Require authentication for dictionary APIs, or restrict them to an explicitly public subset. 3. Apply consistent access control and response field filtering across all `/mdiy/**` endpoints. ---
ユーザー
 murkfox (UID 15240)
送信2026年06月23日 07:42 (2 月 ago)
モデレーション2026年08月08日 20:48 (2 months later)
ステータス承諾済み
VulDBエントリ387211 [MingSoft MCMS 迄 3.0.6 ms-mdiy /mdiy/form/get 情報漏えい]
ポイント17

Do you want to use VulDB in your project?

Use the official API to access entries easily!