CVE-2021-47152
Vulnerability from cvelistv5
Published
2024-03-25 09:07
Modified
2024-12-19 07:36
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: mptcp: fix data stream corruption Maxim reported several issues when forcing a TCP transparent proxy to use the MPTCP protocol for the inbound connections. He also provided a clean reproducer. The problem boils down to 'mptcp_frag_can_collapse_to()' assuming that only MPTCP will use the given page_frag. If others - e.g. the plain TCP protocol - allocate page fragments, we can end-up re-using already allocated memory for mptcp_data_frag. Fix the issue ensuring that the to-be-expanded data fragment is located at the current page frag end. v1 -> v2: - added missing fixes tag (Mat)
Impacted products
Vendor Product Version
Linux Linux Version: 5.7
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:39.850Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-47152",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:54:51.146188Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:55.837Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3267a061096efc91eda52c2a0c61ba76e46e4b34",
              "status": "affected",
              "version": "18b683bff89d46ace55f12d00c0440d44d6160c4",
              "versionType": "git"
            },
            {
              "lessThan": "18e7f0580da15cac1e79d73683ada5a9e70980f8",
              "status": "affected",
              "version": "18b683bff89d46ace55f12d00c0440d44d6160c4",
              "versionType": "git"
            },
            {
              "lessThan": "29249eac5225429b898f278230a6ca2baa1ae154",
              "status": "affected",
              "version": "18b683bff89d46ace55f12d00c0440d44d6160c4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/protocol.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.7"
            },
            {
              "lessThan": "5.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: fix data stream corruption\n\nMaxim reported several issues when forcing a TCP transparent proxy\nto use the MPTCP protocol for the inbound connections. He also\nprovided a clean reproducer.\n\nThe problem boils down to \u0027mptcp_frag_can_collapse_to()\u0027 assuming\nthat only MPTCP will use the given page_frag.\n\nIf others - e.g. the plain TCP protocol - allocate page fragments,\nwe can end-up re-using already allocated memory for mptcp_data_frag.\n\nFix the issue ensuring that the to-be-expanded data fragment is\nlocated at the current page frag end.\n\nv1 -\u003e v2:\n - added missing fixes tag (Mat)"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T07:36:14.173Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34"
        },
        {
          "url": "https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8"
        },
        {
          "url": "https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154"
        }
      ],
      "title": "mptcp: fix data stream corruption",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-47152",
    "datePublished": "2024-03-25T09:07:47.235Z",
    "dateReserved": "2024-03-04T18:12:48.846Z",
    "dateUpdated": "2024-12-19T07:36:14.173Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2021-47152\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-03-25T09:15:09.357\",\"lastModified\":\"2024-11-21T06:35:30.157\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmptcp: fix data stream corruption\\n\\nMaxim reported several issues when forcing a TCP transparent proxy\\nto use the MPTCP protocol for the inbound connections. He also\\nprovided a clean reproducer.\\n\\nThe problem boils down to \u0027mptcp_frag_can_collapse_to()\u0027 assuming\\nthat only MPTCP will use the given page_frag.\\n\\nIf others - e.g. the plain TCP protocol - allocate page fragments,\\nwe can end-up re-using already allocated memory for mptcp_data_frag.\\n\\nFix the issue ensuring that the to-be-expanded data fragment is\\nlocated at the current page frag end.\\n\\nv1 -\u003e v2:\\n - added missing fixes tag (Mat)\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: mptcp: corrige la corrupci\u00f3n del flujo de datos Maxim inform\u00f3 varios problemas al forzar a un proxy transparente TCP a utilizar el protocolo MPTCP para las conexiones entrantes. Tambi\u00e9n proporcion\u00f3 un reproductor limpio. El problema se reduce a \u0027mptcp_frag_can_collapse_to()\u0027 suponiendo que s\u00f3lo MPTCP utilizar\u00e1 el page_frag dado. Si otros (por ejemplo, el protocolo TCP simple) asignan fragmentos de p\u00e1gina, podemos terminar reutilizando la memoria ya asignada para mptcp_data_frag. Solucione el problema asegur\u00e1ndose de que el fragmento de datos que se va a expandir est\u00e9 ubicado al final del fragmento de la p\u00e1gina actual. v1 -\u0026gt; v2: - se agreg\u00f3 la etiqueta de correcciones faltantes (Mat)\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/18e7f0580da15cac1e79d73683ada5a9e70980f8\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/29249eac5225429b898f278230a6ca2baa1ae154\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/3267a061096efc91eda52c2a0c61ba76e46e4b34\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.