CVE-2023-2161
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedA CWE-611: Improper Restriction of XML External Entity Reference vulnerability exists that could cause unauthorized read access to the file system when a malicious configuration file is loaded on to the software by a local user.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThis is an XML External Entity (XXE) injection vulnerability (CWE-611) in the software's configuration file parser. When a local user supplies a specially crafted XML configuration file containing external entity references, the parser can be tricked into reading and exposing arbitrary files from the server's filesystem.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 3.63= 3.63CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Determine the installed version of Opc Factory ServerLocate the Opc Factory Server installation directory and check the version information of the main executable or check the Windows Registry for the installed version under HKLM\Software\Schneider Electric\Opc Factory Server (or similar). Use the program's About or version info dialog if available through the UI.Affected if The installed version is lower than 3.63 or equals exactly 3.63
-
Locate XML configuration filesIdentify XML configuration files used by Opc Factory Server. These are typically stored in the installation directory or a dedicated configuration subfolder and may have extensions such as .xml, .config, or .opc.Affected if XML configuration files exist and are loaded by the application
-
Check if the XML parser processes external entitiesInspect the application's XML parser settings or code that handles configuration file parsing. If source code is available, verify whether the parser has DTD (Document Type Definition) processing enabled or allows external entity expansion.Affected if The XML parser has DTD/external entity processing enabled or does not disable entity expansion when parsing configuration files
-
Verify the parser configuration is exploitableReview the XML parser initialization code or configuration to determine whether features like 'external-general-entities', 'external-parameter-entities', or 'DTD processing' are explicitly enabled or allowed.Affected if External entity processing is enabled in the XML parser configuration
You are affected if Opc Factory Server version is 3.63 or any version lower than 3.63 AND the application parses XML configuration files with external entity processing enabled.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped3.63
Disable external entity processing and DTD parsing in all XML parsers used by the application, or use a secure XML parser configuration that prevents entity expansion.
Opc Factory Server version > 3.63 (e.g., 3.64 or later)
- Navigate to the Schneider Electric download portal at download.schneider-electric.com
- Locate the Opc Factory Server product page
- Download version 3.64 or later (any version greater than 3.63)
- Before deployment, review the release notes for that version to confirm the security fix for CVE-2023-2161 is included
- Deploy the upgraded version in your test environment first
- Validate that your configurations load correctly with the new version
- Deploy to production environment
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing6.0 h
- Review / QA4.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $6,176.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2023-2161 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2023-2161 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data