CWE-470
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.
CVE-2023-6943 (GCVE-0-2023-6943)
Vulnerability from cvelistv5
- CWE-470 - Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
▼ | URL | Tags |
---|---|---|
https://www.mitsubishielectric.com/en/psirt/vulnerability/pdf/2023-020_en.pdf | vendor-advisory | |
https://jvn.jp/vu/JVNVU95103362 | government-resource | |
https://www.cisa.gov/news-events/ics-advisories/icsa-24-030-02 | government-resource |
Vendor | Product | Version | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
▼ | Mitsubishi Electric Corporation | EZSocket |
Version: 3.0 to 5.92 |
|||||||||||||||||||||||||||||||||||||||||
|
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-02T08:42:08.552Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "vendor-advisory", "x_transferred" ], "url": "https://www.mitsubishielectric.com/en/psirt/vulnerability/pdf/2023-020_en.pdf" }, { "tags": [ "government-resource", "x_transferred" ], "url": "https://jvn.jp/vu/JVNVU95103362" }, { "tags": [ "government-resource", "x_transferred" ], "url": "https://www.cisa.gov/news-events/ics-advisories/icsa-24-030-02" } ], "title": "CVE Program Container" }, { "metrics": [ { "other": { "content": { "id": "CVE-2023-6943", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "total" } ], "role": "CISA Coordinator", "timestamp": "2024-02-06T05:00:32.912521Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-05-30T19:01:43.512Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "EZSocket", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "3.0 to 5.92" } ] }, { "defaultStatus": "unaffected", "product": "GT Designer3 Version1(GOT1000)", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.325P and prior" } ] }, { "defaultStatus": "unaffected", "product": "GT Designer3 Version1(GOT2000)", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.320J and prior" } ] }, { "defaultStatus": "unaffected", "product": "GX Works2", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.11M to 1.626C" } ] }, { "defaultStatus": "unaffected", "product": "GX Works3", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.106L and prior" } ] }, { "defaultStatus": "unaffected", "product": "MELSOFT Navigator", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.04E to 2.102G" } ] }, { "defaultStatus": "unaffected", "product": "MT Works2", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "1.190Y and prior" } ] }, { "defaultStatus": "unaffected", "product": "MX Component", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "4.00A to 5.007H" } ] }, { "defaultStatus": "unaffected", "product": "MX OPC Server DA/UA", "vendor": "Mitsubishi Electric Corporation", "versions": [ { "status": "affected", "version": "all versions" } ] } ], "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027) vulnerability in Mitsubishi Electric Corporation EZSocket versions 3.0 to 5.92, GT Designer3 Version1(GOT1000) versions 1.325P and prior, GT Designer3 Version1(GOT2000) versions 1.320J and prior, GX Works2 versions 1.11M to 1.626C, GX Works3 versions 1.106L and prior, MELSOFT Navigator versions 1.04E to 2.102G, MT Works2 versions 1.190Y and prior, MX Component versions 4.00A to 5.007H and MX OPC Server DA/UA all versions allows a remote unauthenticated attacker to execute a malicious code by RPC with a path to a malicious library while connected to the products." } ], "value": "Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027) vulnerability in Mitsubishi Electric Corporation EZSocket versions 3.0 to 5.92, GT Designer3 Version1(GOT1000) versions 1.325P and prior, GT Designer3 Version1(GOT2000) versions 1.320J and prior, GX Works2 versions 1.11M to 1.626C, GX Works3 versions 1.106L and prior, MELSOFT Navigator versions 1.04E to 2.102G, MT Works2 versions 1.190Y and prior, MX Component versions 4.00A to 5.007H and MX OPC Server DA/UA all versions allows a remote unauthenticated attacker to execute a malicious code by RPC with a path to a malicious library while connected to the products." } ], "impacts": [ { "descriptions": [ { "lang": "en", "value": "Remote Code Execution" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 9.8, "baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-470", "description": "CWE-470 Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027)", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-09-19T02:13:47.115Z", "orgId": "e0f77b61-78fd-4786-b3fb-1ee347a748ad", "shortName": "Mitsubishi" }, "references": [ { "tags": [ "vendor-advisory" ], "url": "https://www.mitsubishielectric.com/en/psirt/vulnerability/pdf/2023-020_en.pdf" }, { "tags": [ "government-resource" ], "url": "https://jvn.jp/vu/JVNVU95103362" }, { "tags": [ "government-resource" ], "url": "https://www.cisa.gov/news-events/ics-advisories/icsa-24-030-02" } ], "source": { "discovery": "UNKNOWN" }, "x_generator": { "engine": "Vulnogram 0.1.0-dev" } } }, "cveMetadata": { "assignerOrgId": "e0f77b61-78fd-4786-b3fb-1ee347a748ad", "assignerShortName": "Mitsubishi", "cveId": "CVE-2023-6943", "datePublished": "2024-01-30T09:09:29.248Z", "dateReserved": "2023-12-19T08:00:07.140Z", "dateUpdated": "2025-09-19T02:13:47.115Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
CVE-2025-53693 (GCVE-0-2025-53693)
Vulnerability from cvelistv5
- CWE-470 - Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
▼ | Sitecore | Sitecore Experience Manager (XM) |
Version: 9.0 ≤ 9.3 Version: 10.0 ≤ 10.4 |
||||||
|
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-53693", "options": [ { "Exploitation": "poc" }, { "Automatable": "yes" }, { "Technical Impact": "total" } ], "role": "CISA Coordinator", "timestamp": "2025-09-03T13:49:59.488662Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-09-03T13:53:40.699Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Sitecore Experience Manager (XM)", "vendor": "Sitecore", "versions": [ { "lessThanOrEqual": "9.3", "status": "affected", "version": "9.0", "versionType": "semver" }, { "lessThanOrEqual": "10.4", "status": "affected", "version": "10.0", "versionType": "semver" } ] }, { "defaultStatus": "unaffected", "product": "Experience Platform (XP)", "vendor": "Sitecore", "versions": [ { "lessThanOrEqual": "9.3", "status": "affected", "version": "9.0", "versionType": "semver" }, { "lessThanOrEqual": "10.4", "status": "affected", "version": "10.0", "versionType": "semver" } ] } ], "credits": [ { "lang": "en", "type": "finder", "value": "Piotr Bazydlo of watchTowr" } ], "datePublic": "2025-09-03T11:00:00.000Z", "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027) vulnerability in Sitecore Sitecore Experience Manager (XM), Sitecore Experience Platform (XP) allows Cache Poisoning.\u003cp\u003eThis issue affects Sitecore Experience Manager (XM): from 9.0 through 9.3, from 10.0 through 10.4; Experience Platform (XP): from 9.0 through 9.3, from 10.0 through 10.4.\u003c/p\u003e" } ], "value": "Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027) vulnerability in Sitecore Sitecore Experience Manager (XM), Sitecore Experience Platform (XP) allows Cache Poisoning.This issue affects Sitecore Experience Manager (XM): from 9.0 through 9.3, from 10.0 through 10.4; Experience Platform (XP): from 9.0 through 9.3, from 10.0 through 10.4." } ], "impacts": [ { "capecId": "CAPEC-141", "descriptions": [ { "lang": "en", "value": "CAPEC-141 Cache Poisoning" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 9.8, "baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-470", "description": "CWE-470 Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027)", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-09-03T12:36:53.745Z", "orgId": "9947ef80-c5d5-474a-bbab-97341a59000e", "shortName": "Wiz" }, "references": [ { "url": "https://labs.watchtowr.com/cache-me-if-you-can-sitecore-experience-platform-cache-poisoning-to-rce/" }, { "url": "https://support.sitecore.com/kb?id=kb_article_view\u0026sysparm_article=KB1003667" } ], "source": { "discovery": "EXTERNAL" }, "title": "HTML Cache Poisoning through Unsafe Reflections", "x_generator": { "engine": "Vulnogram 0.2.0" } } }, "cveMetadata": { "assignerOrgId": "9947ef80-c5d5-474a-bbab-97341a59000e", "assignerShortName": "Wiz", "cveId": "CVE-2025-53693", "datePublished": "2025-09-03T12:36:53.745Z", "dateReserved": "2025-07-08T14:21:02.029Z", "dateUpdated": "2025-09-03T13:53:40.699Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
CVE-2025-61925 (GCVE-0-2025-61925)
Vulnerability from cvelistv5
- CWE-470 - Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
▼ | URL | Tags |
---|---|---|
https://github.com/withastro/astro/security/advisories/GHSA-5ff5-9fcw-vg88 | x_refsource_CONFIRM | |
https://github.com/Chisnet/minimal_dynamic_astro_server | x_refsource_MISC |
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-61925", "options": [ { "Exploitation": "poc" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-10-10T20:00:44.551372Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-10-10T20:01:06.836Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "astro", "vendor": "withastro", "versions": [ { "status": "affected", "version": "\u003c 5.14.2" } ] } ], "descriptions": [ { "lang": "en", "value": "Astro is a web framework. Prior to version 5.14.2, Astro reflects the value in `X-Forwarded-Host` in output when using `Astro.url` without any validation. It is common for web servers such as nginx to route requests via the `Host` header, and forward on other request headers. As such as malicious request can be sent with both a `Host` header and an `X-Forwarded-Host` header where the values do not match and the `X-Forwarded-Host` header is malicious. Astro will then return the malicious value. This could result in any usages of the `Astro.url` value in code being manipulated by a request. For example if a user follows guidance and uses `Astro.url` for a canonical link the canonical link can be manipulated to another site. It is theoretically possible that the value could also be used as a login/registration or other form URL as well, resulting in potential redirecting of login credentials to a malicious party. As this is a per-request attack vector the surface area would only be to the malicious user until one considers that having a caching proxy is a common setup, in which case any page which is cached could persist the malicious value for subsequent users. Many other frameworks have an allowlist of domains to validate against, or do not have a case where the headers are reflected to avoid such issues. This could affect anyone using Astro in an on-demand/dynamic rendering mode behind a caching proxy. Version 5.14.2 contains a fix for the issue." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "LOW", "baseScore": 6.5, "baseSeverity": "MEDIUM", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-470", "description": "CWE-470: Use of Externally-Controlled Input to Select Classes or Code (\u0027Unsafe Reflection\u0027)", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-10-10T19:34:05.142Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "name": "https://github.com/withastro/astro/security/advisories/GHSA-5ff5-9fcw-vg88", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/withastro/astro/security/advisories/GHSA-5ff5-9fcw-vg88" }, { "name": "https://github.com/Chisnet/minimal_dynamic_astro_server", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/Chisnet/minimal_dynamic_astro_server" } ], "source": { "advisory": "GHSA-5ff5-9fcw-vg88", "discovery": "UNKNOWN" }, "title": "Astro\u0027s `X-Forwarded-Host` is reflected with no validation" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2025-61925", "datePublished": "2025-10-10T19:34:05.142Z", "dateReserved": "2025-10-03T22:21:59.616Z", "dateUpdated": "2025-10-10T20:01:06.836Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
Mitigation
Phase: Architecture and Design
Description:
- Refactor your code to avoid using reflection.
Mitigation
Phase: Architecture and Design
Description:
- Do not use user-controlled inputs to select and load classes or code.
Mitigation
Phase: Implementation
Description:
- Apply strict input validation by using allowlists or indirect selection to ensure that the user is only selecting allowable classes or code.
CAPEC-138: Reflection Injection
An adversary supplies a value to the target application which is then used by reflection methods to identify a class, method, or field. For example, in the Java programming language the reflection libraries permit an application to inspect, load, and invoke classes and their components by name. If an adversary can control the input into these methods including the name of the class/method/field or the parameters passed to methods, they can cause the targeted application to invoke incorrect methods, read random fields, or even to load and utilize malicious classes that the adversary created. This can lead to the application revealing sensitive information, returning incorrect results, or even having the adversary take control of the targeted application.