CVE-2023-38744
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 · uneditedDenial-of-service (DoS) vulnerability due to improper validation of specified type of input issue exists in the built-in EtherNet/IP port of the CJ Series CJ2 CPU unit and the communication function of the CS/CJ Series EtherNet/IP unit. If an affected product receives a packet which is specially crafted by a remote unauthenticated attacker, the unit of the affected product may fall into a denial-of-service (DoS) condition. Affected products/versions are as follows: CJ2M CPU Unit CJ2M-CPU3[] Unit version of the built-in EtherNet/IP section Ver. 2.18 and earlier, CJ2H CPU Unit CJ2H-CPU6[]-EIP Unit version of the built-in EtherNet/IP section Ver. 3.04 and earlier, CS/CJ Series EtherNet/IP Unit CS1W-EIP21 V3.04 and earlier, and CS/CJ Series EtherNet/IP Unit CJ1W-EIP21 V3.04 and earlier.
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 · moderate confidenceThis is a denial-of-service vulnerability in Omron's CJ Series PLCs (CJ2 CPU units and CS/CJ EtherNet/IP units) where improper validation of input in the EtherNet/IP protocol stack allows remote unauthenticated attackers to crash the device by sending specially crafted packets.
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<= 2.18<= 2.18<= 2.18<= 2.18<= 2.18<= 3.04<= 3.04<= 3.04CVSS 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
- None
- Integrity
- None
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/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 CJ2 PLC on the networkScan the network for devices responding to EtherNet/IP (port 44818) or use industrial asset discovery tools (like nmap with enip-enumerate or Omron's network scanner) to identify Omron devices. Look for vendor ID 46 (Omron) in EtherNet/IP identity responses.Affected if An Omron CJ2 device is found responding on the network with EtherNet/IP enabled.
-
Confirm the specific CJ2 modelQuery the device's EtherNet/IP identity object (0x01) or check the device nameplate/model number via CX-Programmer or the device web interface. Look for model numbers: CJ2M-CPU31 through CJ2M-CPU35, or CJ2H-CPU66 through CJ2H-CPU68 (EIP variant).Affected if The device model is CJ2M (CPU31-35) or CJ2H (CPU66-68) with EIP functionality.
-
Check the firmware versionRead the device's unit version or firmware revision via CX-Programmer (go online with the PLC, then System Information > Unit Version), through the device web interface if available, or via EtherNet/IP get attribute single requests to identity object attributes 5 (revision).Affected if The firmware version is 2.18 or lower for CJ2M models, or 3.04 or lower for CJ2H models.
-
Verify EtherNet/IP is enabledCheck the PLC configuration in CX-Programmer under CPU Unit Setup > Built-in EtherNet/IP or verify the CS/CJ EtherNet/IP unit is mounted and configured in the I/O table. The vulnerability affects the EtherNet/IP stack, so it only applies if this feature is active.Affected if EtherNet/IP functionality is enabled and operational on the device.
You are affected if you have an Omron CJ2M (firmware <=2.18) or CJ2H-EIP (firmware <=3.04) PLC with EtherNet/IP enabled, as these versions contain the vulnerable input validation in the EtherNet/IP protocol stack.
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.
From vendor dataIsolate affected devices behind firewalls or network segmentation to limit exposure to untrusted networks; apply vendor firmware updates (Ver. 2.19+ for CJ2M, Ver. 3.05+ for CJ2H/CS1W-EIP21/CJ1W-EIP21) when available.
- 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-38744 — 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-38744 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