Uploaded image for project: 'EtherNet/IP Core V3'
  1. EtherNet/IP Core V3
  2. PSEIP-569

CIP class 3 connection explicit messages are not bounded with regards to the maximum connection size

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: V3.7.0.9, V3.7.4.0
    • Component/s: None
    • Labels:
      None
    • Account:
      SPC EthernetIp Slave (SPCETHERNE)

      Description

      Naturally, a ForwardOpen has the maximum connection size of 511 bytes (Including 16-bit sequence counter, 32-bit real-time header if exists).
      Seemingly, if I open a class 3 connection towards the device wit ha size of 511 bytes, and then send a service request over the connection which is larger, the request succeeds (at least it arrives at the object level, which seems to be wrong):

      I assume we are missing a size check and also have a classical buffer overflow situation here with all the usual malicious effects.. The maximum size of a CIP class 3 excplicit service request shall be checked and limited by the size of the class 3 connection. Overly large requests (and responses) shall be rejected.

       

        Attachments

        1. PSEIP-569.pcapng
          3 kB
          Marc Bommert
        2. PSEIP-569-fix.pcapng
          2 kB
          Omid Kompani

          Expenses

            Activity

              Status Description

                People

                • Reporter:
                  MBommert Marc Bommert
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: