CVE-2022-31207
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 · uneditedThe Omron SYSMAC Cx product family PLCs (CS series, CJ series, and CP series) through 2022-05-18 lack cryptographic authentication. They utilize the Omron FINS (9600/TCP) protocol for engineering purposes, including downloading projects and control logic to the PLC. This protocol has authentication flaws as reported in FSCT-2022-0057. Control logic is downloaded to PLC volatile memory using the FINS Program Area Read and Program Area Write commands or to non-volatile memory using other commands from where it can be loaded into volatile memory for execution. The logic that is loaded into and executed from the user program area exists in compiled object code form. Upon execution, these object codes are first passed to a dedicated ASIC that determines whether the object code is to be executed by the ASIC or the microprocessor. In the former case, the object code is interpreted by the ASIC whereas in the latter case the object code is passed to the microprocessor for object code interpretation by a ROM interpreter. In the abnormal case where the object code cannot be handled by either, an abnormal condition is triggered and the PLC is halted. The logic that is downloaded to the PLC does not seem to be cryptographically authenticated, thus allowing an attacker to manipulate transmitted object code to the PLC and either execute arbitrary object code commands on the ASIC or on the microprocessor interpreter.
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 confidenceOmron SYSMAC Cx PLCs (CS, CJ, CP series) use the FINS protocol (TCP port 9600) for engineering operations without cryptographic authentication, allowing attackers to inject malicious object code into volatile or non-volatile PLC memory via Program Area Read/Write commands. This code can then be executed by either the dedicated ASIC or the microprocessor ROM interpreter, enabling arbitrary command execution on the PLC.
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< 4.1< 2.1< 1.5< 1.30< 1.30< 1.10all versionsCVSS 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
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
-
Identify Omron PLC modelConnect to the PLC via Sysmac Studio or check the PLC unit nameplate/label to determine if it is a CS, CJ (CJ2m, CJ2h), or CP (CP1e, CP1h, CP1l) series PLC. Also check if a Cp1w CIF41 communication unit is attached.Affected if The PLC is an Omron Sysmac CS, CJ, or CP series model, or a Cp1w CIF41 unit is present.
-
Check PLC firmware versionUse Sysmac Studio to go online with the PLC and view the Unit Information or Device Properties to read the firmware version. For CJ2m/CJ2h, check the CPU Unit information. For CP series, check the CPU Unit properties.Affected if The firmware version is less than 4.1 for CS series, less than 2.1 for CJ2m, less than 1.5 for CJ2h, less than 1.30 for CP1e/CP1h, less than 1.10 for CP1l, or any version for Cp1w CIF41.
-
Verify FINS protocol is enabledCheck the PLC network settings in Sysmac Studio under CPU Unit Built-in Ethernet/IP Settings or Communication Settings. Confirm that FINS communication is enabled and the TCP port 9600 is configured for FINS service.Affected if FINS protocol is enabled and port 9600 is open for FINS communication.
-
Assess network exposure of port 9600Use network scanning tools (such as nmap) from various network segments to probe TCP port 9600. Review firewall rules and network segmentation to determine if port 9600 is accessible from unauthorized network segments or the internet.Affected if Port 9600 is exposed to untrusted networks or accessible from engineering stations outside the trusted control system network.
A user is affected if they have an Omron CS, CJ, or CP series PLC (or Cp1w CIF41 unit) with a firmware version below the thresholds listed AND the FINS protocol on port 9600 is enabled and accessible from unauthorized network segments.
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 · scoped1.51.101.30
Implement network segmentation to restrict access to FINS protocol (port 9600) to authorized engineering stations only, and deploy firewalls/IDS to monitor for unauthorized FINS command attempts.
CS1: firmware >= 4.1; CJ2M: firmware >= 2.1; CJ2H: firmware >= 1.5; CP1E: firmware >= 1.30; CP1H: firmware >= 1.30; CP1L: firmware >= 1.10; CP1W CIF41: no fix available
- 1. Identify the specific Omron SYSMAC PLC model (CS1, CJ2M, CJ2H, CP1E, CP1H, CP1L, or CP1W CIF41) in your environment.
- 2. For CP1W CIF41 (all versions affected): This device has no firmware fix available. Implement network segmentation to isolate the device and apply compensating controls such as firewall rules restricting access to FINS port 9600/TCP.
- 3. For all other affected models: Obtain the firmware upgrade from Omron's official support website or contact Omron technical support.
- 4. Download the appropriate firmware version: CS1 to version 4.1 or later; CJ2M to version 2.1 or later; CJ2H to version 1.5 or later; CP1E to version 1.30 or later; CP1H to version 1.30 or later; CP1L to version 1.10 or later.
- 5. Before upgrading, back up the current PLC project and configuration following Omron's recommended procedures.
- 6. Upload any existing control logic from the PLC to preserve the current program.
- 7. Perform the firmware upgrade using Omron's Sysmac Studio or appropriate programming software, following the manufacturer's upgrade instructions.
- 8. After upgrade, verify the FINS protocol now requires cryptographic authentication by attempting an unauthorized connection to confirm the vulnerability is remediated.
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation6.0 h
- Implementation12.0 h
- Testing8.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 $8,448.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2022-31207 — 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-2022-31207 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