cve-2023-52775
Vulnerability from cvelistv5
Published
2024-05-21 15:30
Modified
2024-08-02 23:11
Severity
Summary
net/smc: avoid data corruption caused by decline
Impacted products
VendorProduct
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2023-52775",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-05-22T18:24:43.628155Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:22:47.888Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T23:11:35.820Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5ada292b5c504720a0acef8cae9acc62a694d19c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/90072af9efe8c7bd7d086709014ddd44cebd5e7c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/94a0ae698b4d5d5bb598e23228002a1491c50add"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/7234d2b5dffa5af77fd4e0deaebab509e130c6b1"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e6d71b437abc2f249e3b6a1ae1a7228e09c6e563"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/smc/af_smc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5ada292b5c50",
              "status": "affected",
              "version": "0fb0b02bd6fd",
              "versionType": "git"
            },
            {
              "lessThan": "90072af9efe8",
              "status": "affected",
              "version": "0fb0b02bd6fd",
              "versionType": "git"
            },
            {
              "lessThan": "94a0ae698b4d",
              "status": "affected",
              "version": "0fb0b02bd6fd",
              "versionType": "git"
            },
            {
              "lessThan": "7234d2b5dffa",
              "status": "affected",
              "version": "0fb0b02bd6fd",
              "versionType": "git"
            },
            {
              "lessThan": "e6d71b437abc",
              "status": "affected",
              "version": "0fb0b02bd6fd",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/smc/af_smc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.8"
            },
            {
              "lessThan": "5.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.203",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.141",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.65",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.4",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.7",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: avoid data corruption caused by decline\n\nWe found a data corruption issue during testing of SMC-R on Redis\napplications.\n\nThe benchmark has a low probability of reporting a strange error as\nshown below.\n\n\"Error: Protocol error, got \"\\xe2\" as reply type byte\"\n\nFinally, we found that the retrieved error data was as follows:\n\n0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C\n0xCB 0x04 0x02 0x01 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00\n0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2\n\nIt is quite obvious that this is a SMC DECLINE message, which means that\nthe applications received SMC protocol message.\nWe found that this was caused by the following situations:\n\nclient                  server\n        \u00a6  clc proposal\n        -------------\u003e\n        \u00a6  clc accept\n        \u003c-------------\n        \u00a6  clc confirm\n        -------------\u003e\nwait llc confirm\n\t\t\tsend llc confirm\n        \u00a6failed llc confirm\n        \u00a6   x------\n(after 2s)timeout\n                        wait llc confirm rsp\n\nwait decline\n\n(after 1s) timeout\n                        (after 2s) timeout\n        \u00a6   decline\n        --------------\u003e\n        \u00a6   decline\n        \u003c--------------\n\nAs a result, a decline message was sent in the implementation, and this\nmessage was read from TCP by the already-fallback connection.\n\nThis patch double the client timeout as 2x of the server value,\nWith this simple change, the Decline messages should never cross or\ncollide (during Confirm link timeout).\n\nThis issue requires an immediate solution, since the protocol updates\ninvolve a more long-term solution."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-05-29T05:17:08.312Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5ada292b5c504720a0acef8cae9acc62a694d19c"
        },
        {
          "url": "https://git.kernel.org/stable/c/90072af9efe8c7bd7d086709014ddd44cebd5e7c"
        },
        {
          "url": "https://git.kernel.org/stable/c/94a0ae698b4d5d5bb598e23228002a1491c50add"
        },
        {
          "url": "https://git.kernel.org/stable/c/7234d2b5dffa5af77fd4e0deaebab509e130c6b1"
        },
        {
          "url": "https://git.kernel.org/stable/c/e6d71b437abc2f249e3b6a1ae1a7228e09c6e563"
        }
      ],
      "title": "net/smc: avoid data corruption caused by decline",
      "x_generator": {
        "engine": "bippy-a5840b7849dd"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-52775",
    "datePublished": "2024-05-21T15:30:56.247Z",
    "dateReserved": "2024-05-21T15:19:24.239Z",
    "dateUpdated": "2024-08-02T23:11:35.820Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-52775\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-21T16:15:16.610\",\"lastModified\":\"2024-05-21T16:53:56.550\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet/smc: avoid data corruption caused by decline\\n\\nWe found a data corruption issue during testing of SMC-R on Redis\\napplications.\\n\\nThe benchmark has a low probability of reporting a strange error as\\nshown below.\\n\\n\\\"Error: Protocol error, got \\\"\\\\xe2\\\" as reply type byte\\\"\\n\\nFinally, we found that the retrieved error data was as follows:\\n\\n0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C\\n0xCB 0x04 0x02 0x01 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00\\n0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2\\n\\nIt is quite obvious that this is a SMC DECLINE message, which means that\\nthe applications received SMC protocol message.\\nWe found that this was caused by the following situations:\\n\\nclient                  server\\n        \u00a6  clc proposal\\n        -------------\u003e\\n        \u00a6  clc accept\\n        \u003c-------------\\n        \u00a6  clc confirm\\n        -------------\u003e\\nwait llc confirm\\n\\t\\t\\tsend llc confirm\\n        \u00a6failed llc confirm\\n        \u00a6   x------\\n(after 2s)timeout\\n                        wait llc confirm rsp\\n\\nwait decline\\n\\n(after 1s) timeout\\n                        (after 2s) timeout\\n        \u00a6   decline\\n        --------------\u003e\\n        \u00a6   decline\\n        \u003c--------------\\n\\nAs a result, a decline message was sent in the implementation, and this\\nmessage was read from TCP by the already-fallback connection.\\n\\nThis patch double the client timeout as 2x of the server value,\\nWith this simple change, the Decline messages should never cross or\\ncollide (during Confirm link timeout).\\n\\nThis issue requires an immediate solution, since the protocol updates\\ninvolve a more long-term solution.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: net/smc: evita la corrupci\u00f3n de datos causada por el rechazo. Encontramos un problema de corrupci\u00f3n de datos durante las pruebas de SMC-R en aplicaciones Redis. El punto de referencia tiene una baja probabilidad de informar un error extra\u00f1o, como se muestra a continuaci\u00f3n. \\\"Error: Error de protocolo, obtuve \\\"\\\\xe2\\\" como byte de tipo de respuesta\\\" Finalmente, encontramos que los datos de error recuperados eran los siguientes: 0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C 0xCB 0x04 0x02 1 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2 Es bastante obvio que este es un mensaje SMC DECLINE, lo que significa que las aplicaciones recibieron un mensaje de protocolo SMC. Descubrimos que esto se deb\u00eda a las siguientes situaciones: cliente servidor \u00a6 propuesta clc -------------\u0026gt; \u00a6 clc aceptar \u0026lt;------------- \u00a6 clc confirmar -------------\u0026gt; esperar confirmaci\u00f3n de llc enviar confirmaci\u00f3n de llc \u00a6 confirmaci\u00f3n de llc fallida \u00a6 x------ (despu\u00e9s de 2 s) tiempo de espera de espera llc confirmar rsp esperar declinar (despu\u00e9s de 1 s) tiempo de espera (despu\u00e9s de 2s) tiempo de espera \u00a6 rechazo --------------\u0026gt; \u00a6 rechazo \u0026lt;-------------- Como resultado, se envi\u00f3 un mensaje de rechazo en la implementaci\u00f3n, y este mensaje fue le\u00eddo desde TCP por la conexi\u00f3n que ya estaba en reserva. Este parche duplica el tiempo de espera del cliente al doble del valor del servidor. Con este simple cambio, los mensajes de rechazo nunca deber\u00edan cruzarse ni colisionar (durante el tiempo de espera de confirmaci\u00f3n del enlace). Este problema requiere una soluci\u00f3n inmediata, ya que las actualizaciones del protocolo implican una soluci\u00f3n a m\u00e1s largo plazo.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/5ada292b5c504720a0acef8cae9acc62a694d19c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7234d2b5dffa5af77fd4e0deaebab509e130c6b1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/90072af9efe8c7bd7d086709014ddd44cebd5e7c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/94a0ae698b4d5d5bb598e23228002a1491c50add\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e6d71b437abc2f249e3b6a1ae1a7228e09c6e563\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...