CVE-2021-47358 (GCVE-0-2021-47358)

Vulnerability from cvelistv5 – Published: 2024-05-21 14:44 – Updated: 2026-08-05 08:47
VLAI
Title
staging: greybus: uart: fix tty use after free
Summary
In the Linux kernel, the following vulnerability has been resolved: staging: greybus: uart: fix tty use after free User space can hold a tty open indefinitely and tty drivers must not release the underlying structures until the last user is gone. Switch to using the tty-port reference counter to manage the life time of the greybus tty state to avoid use after free after a disconnect.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < 92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < 64062fcaca8872f063ec9da011e7bf30470be33f (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < a5cfd51f6348e8fd7531461366946039c29c7e69 (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < 4dc56951a8d9d61d364d346c61a5f1d70b4f5e14 (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < b9e697e60ce9890e9258a73eb061288e7d68e5e6 (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < 9872ff6fdce8b229f01993b611b5d1719cb70ff1 (git)
Affected: a18e15175708d39abbe9746ddc3479466b7800c3 , < 92dc0b1f46e12cfabd28d709bb34f7a39431b44f (git)
Create a notification for this product.
Linux Linux Affected: 4.9
Unaffected: 0 , < 4.9 (semver)
Unaffected: 4.9.285 , ≤ 4.9.* (semver)
Unaffected: 4.14.249 , ≤ 4.14.* (semver)
Unaffected: 4.19.209 , ≤ 4.19.* (semver)
Unaffected: 5.4.150 , ≤ 5.4.* (semver)
Unaffected: 5.10.70 , ≤ 5.10.* (semver)
Unaffected: 5.14.9 , ≤ 5.14.* (semver)
Unaffected: 5.15 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-47358",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-05-21T18:24:46.611586Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:15:01.010Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:32:08.651Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/staging/greybus/uart.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "64062fcaca8872f063ec9da011e7bf30470be33f",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "a5cfd51f6348e8fd7531461366946039c29c7e69",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "4dc56951a8d9d61d364d346c61a5f1d70b4f5e14",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "b9e697e60ce9890e9258a73eb061288e7d68e5e6",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "9872ff6fdce8b229f01993b611b5d1719cb70ff1",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            },
            {
              "lessThan": "92dc0b1f46e12cfabd28d709bb34f7a39431b44f",
              "status": "affected",
              "version": "a18e15175708d39abbe9746ddc3479466b7800c3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/staging/greybus/uart.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.9"
            },
            {
              "lessThan": "4.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.9.*",
              "status": "unaffected",
              "version": "4.9.285",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.249",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.150",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.70",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.14.*",
              "status": "unaffected",
              "version": "5.14.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.9.285",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.249",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.209",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.150",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.70",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.14.9",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15",
                  "versionStartIncluding": "4.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: greybus: uart: fix tty use after free\n\nUser space can hold a tty open indefinitely and tty drivers must not\nrelease the underlying structures until the last user is gone.\n\nSwitch to using the tty-port reference counter to manage the life time\nof the greybus tty state to avoid use after free after a disconnect."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Exploitation requires local access to open and operate on /dev/ttyGB*; the UAF is triggered via local tty syscalls after the greybus UART device is disconnected, matching other greybus disconnect-UAF scores.\nAC:L - The attacker reliably causes the bug by holding the tty open across disconnect and then using the fd; this is a deterministic lifetime violation, not a race or layout-dependent condition beyond attacker control.\nPR:L - An unprivileged local user who can open the greybus tty device is sufficient; no root or init-namespace capabilities are required for the open/use path.\nUI:N - No separate victim action is required; the attacker opens the device and continues using it after disconnect.\nS:U - Impact is confined to the host kernel (memory corruption / privilege escalation within the same security authority); it does not cross a VM, IOMMU, or other security boundary.\nC:H - Use-after-free of the gb_tty/tty_port object allows reclaim and controlled reads of freed kernel heap memory.\nI:H - UAF of a structure embedding tty_port ops enables heap spray and hijacking of function pointers on subsequent close/write paths for arbitrary write/code execution.\nA:H - Dereferencing the freed gb_tty on close, write, or cleanup causes kernel oops/panic even without full exploitation."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:47:27.000Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d"
        },
        {
          "url": "https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f"
        },
        {
          "url": "https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69"
        },
        {
          "url": "https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14"
        },
        {
          "url": "https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6"
        },
        {
          "url": "https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1"
        },
        {
          "url": "https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f"
        }
      ],
      "title": "staging: greybus: uart: fix tty use after free",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-47358",
    "datePublished": "2024-05-21T14:44:50.221Z",
    "dateReserved": "2024-05-21T14:28:16.988Z",
    "dateUpdated": "2026-08-05T08:47:27.000Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-47358",
      "date": "2026-08-11",
      "epss": "0.00242",
      "percentile": "0.15492"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.9\", \"versionEndExcluding\": \"4.9.285\", \"matchCriteriaId\": \"BF8D6AC2-2AE7-4DD2-8D70-DAFAE0CDB6DC\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.10\", \"versionEndExcluding\": \"4.14.249\", \"matchCriteriaId\": \"9DFC8239-9F26-43B2-A340-8EFC6BC6BDA8\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.15\", \"versionEndExcluding\": \"4.19.209\", \"matchCriteriaId\": \"21C23429-F802-4256-B3C2-9EEA76AC11FF\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.20\", \"versionEndExcluding\": \"5.4.150\", \"matchCriteriaId\": \"87771E47-210D-48FA-95BC-48A86225B30F\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.5\", \"versionEndExcluding\": \"5.10.70\", \"matchCriteriaId\": \"A2A50090-4483-4F44-9147-BF0B012FBF7E\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.11\", \"versionEndExcluding\": \"5.14.9\", \"matchCriteriaId\": \"1B31D6C1-A751-438D-906B-0C56B789D498\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:5.15:rc1:*:*:*:*:*:*\", \"matchCriteriaId\": \"E46C74C6-B76B-4C94-A6A4-FD2FFF62D644\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:5.15:rc2:*:*:*:*:*:*\", \"matchCriteriaId\": \"60134C3A-06E4-48C1-B04F-2903732A4E56\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nstaging: greybus: uart: fix tty use after free\\n\\nUser space can hold a tty open indefinitely and tty drivers must not\\nrelease the underlying structures until the last user is gone.\\n\\nSwitch to using the tty-port reference counter to manage the life time\\nof the greybus tty state to avoid use after free after a disconnect.\"}, {\"lang\": \"es\", \"value\": \" En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: staging: greybus: uart: corrige el use after free de tty. El espacio de usuario puede mantener un tty abierto indefinidamente y los controladores de tty no deben liberar las estructuras subyacentes hasta que el \\u00faltimo usuario se haya ido. Cambie al uso del contador de referencia del puerto tty para administrar la vida \\u00fatil del estado tty de greybus para evitar su uso despu\\u00e9s de una desconexi\\u00f3n.\"}]",
      "id": "CVE-2021-47358",
      "lastModified": "2024-12-26T19:31:16.863",
      "metrics": "{\"cvssMetricV31\": [{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"attackVector\": \"LOCAL\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 1.8, \"impactScore\": 5.9}]}",
      "published": "2024-05-21T15:15:22.073",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-416\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2021-47358\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-21T15:15:22.073\",\"lastModified\":\"2026-08-04T10:16:59.820\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nstaging: greybus: uart: fix tty use after free\\n\\nUser space can hold a tty open indefinitely and tty drivers must not\\nrelease the underlying structures until the last user is gone.\\n\\nSwitch to using the tty-port reference counter to manage the life time\\nof the greybus tty state to avoid use after free after a disconnect.\"},{\"lang\":\"es\",\"value\":\" En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: staging: greybus: uart: corrige el use after free de tty. El espacio de usuario puede mantener un tty abierto indefinidamente y los controladores de tty no deben liberar las estructuras subyacentes hasta que el \u00faltimo usuario se haya ido. Cambie al uso del contador de referencia del puerto tty para administrar la vida \u00fatil del estado tty de greybus para evitar su uso despu\u00e9s de una desconexi\u00f3n.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/staging/greybus/uart.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"64062fcaca8872f063ec9da011e7bf30470be33f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"a5cfd51f6348e8fd7531461366946039c29c7e69\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"b9e697e60ce9890e9258a73eb061288e7d68e5e6\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"9872ff6fdce8b229f01993b611b5d1719cb70ff1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a18e15175708d39abbe9746ddc3479466b7800c3\",\"lessThan\":\"92dc0b1f46e12cfabd28d709bb34f7a39431b44f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/staging/greybus/uart.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.9\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.9\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.9.285\",\"lessThanOrEqual\":\"4.9.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.14.249\",\"lessThanOrEqual\":\"4.14.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.209\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.150\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.70\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.14.9\",\"lessThanOrEqual\":\"5.14.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-05-21T18:24:46.611586Z\",\"id\":\"CVE-2021-47358\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.9\",\"versionEndExcluding\":\"4.9.285\",\"matchCriteriaId\":\"BF8D6AC2-2AE7-4DD2-8D70-DAFAE0CDB6DC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.10\",\"versionEndExcluding\":\"4.14.249\",\"matchCriteriaId\":\"9DFC8239-9F26-43B2-A340-8EFC6BC6BDA8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.15\",\"versionEndExcluding\":\"4.19.209\",\"matchCriteriaId\":\"21C23429-F802-4256-B3C2-9EEA76AC11FF\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.150\",\"matchCriteriaId\":\"87771E47-210D-48FA-95BC-48A86225B30F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.70\",\"matchCriteriaId\":\"A2A50090-4483-4F44-9147-BF0B012FBF7E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.14.9\",\"matchCriteriaId\":\"1B31D6C1-A751-438D-906B-0C56B789D498\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.15:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"E46C74C6-B76B-4C94-A6A4-FD2FFF62D644\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.15:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"60134C3A-06E4-48C1-B04F-2903732A4E56\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:58:14+00:00",
      "cve": "CVE-2021-47358",
      "id": "CVE-2021-47358",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: staging: greybus: uart: fix tty use after free",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-47358.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-08T00:05:46Z",
      "cve": "CVE-2021-47358",
      "id": "CVE-2021-47358",
      "initial_release_date": "2024-05-23T03:04:34Z",
      "product_status:known_affected": "340",
      "product_status:known_not_affected": "93",
      "product_status:recommended": "452",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2021-47358",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-47358.json",
      "version": "56"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-04T05:32:08.651Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2021-47358\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-05-21T18:24:46.611586Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:25.436Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"staging: greybus: uart: fix tty use after free\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - Exploitation requires local access to open and operate on /dev/ttyGB*; the UAF is triggered via local tty syscalls after the greybus UART device is disconnected, matching other greybus disconnect-UAF scores.\\nAC:L - The attacker reliably causes the bug by holding the tty open across disconnect and then using the fd; this is a deterministic lifetime violation, not a race or layout-dependent condition beyond attacker control.\\nPR:L - An unprivileged local user who can open the greybus tty device is sufficient; no root or init-namespace capabilities are required for the open/use path.\\nUI:N - No separate victim action is required; the attacker opens the device and continues using it after disconnect.\\nS:U - Impact is confined to the host kernel (memory corruption / privilege escalation within the same security authority); it does not cross a VM, IOMMU, or other security boundary.\\nC:H - Use-after-free of the gb_tty/tty_port object allows reclaim and controlled reads of freed kernel heap memory.\\nI:H - UAF of a structure embedding tty_port ops enables heap spray and hijacking of function pointers on subsequent close/write paths for arbitrary write/code execution.\\nA:H - Dereferencing the freed gb_tty on close, write, or cleanup causes kernel oops/panic even without full exploitation.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"64062fcaca8872f063ec9da011e7bf30470be33f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"a5cfd51f6348e8fd7531461366946039c29c7e69\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"b9e697e60ce9890e9258a73eb061288e7d68e5e6\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"9872ff6fdce8b229f01993b611b5d1719cb70ff1\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a18e15175708d39abbe9746ddc3479466b7800c3\", \"lessThan\": \"92dc0b1f46e12cfabd28d709bb34f7a39431b44f\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/staging/greybus/uart.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.9\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.9\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.9.285\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.9.*\"}, {\"status\": \"unaffected\", \"version\": \"4.14.249\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.14.*\"}, {\"status\": \"unaffected\", \"version\": \"4.19.209\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.150\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.70\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.14.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.14.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/staging/greybus/uart.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/92b67aaafb7c449db9f0c3dcabc0ff967cb3a42d\"}, {\"url\": \"https://git.kernel.org/stable/c/64062fcaca8872f063ec9da011e7bf30470be33f\"}, {\"url\": \"https://git.kernel.org/stable/c/a5cfd51f6348e8fd7531461366946039c29c7e69\"}, {\"url\": \"https://git.kernel.org/stable/c/4dc56951a8d9d61d364d346c61a5f1d70b4f5e14\"}, {\"url\": \"https://git.kernel.org/stable/c/b9e697e60ce9890e9258a73eb061288e7d68e5e6\"}, {\"url\": \"https://git.kernel.org/stable/c/9872ff6fdce8b229f01993b611b5d1719cb70ff1\"}, {\"url\": \"https://git.kernel.org/stable/c/92dc0b1f46e12cfabd28d709bb34f7a39431b44f\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nstaging: greybus: uart: fix tty use after free\\n\\nUser space can hold a tty open indefinitely and tty drivers must not\\nrelease the underlying structures until the last user is gone.\\n\\nSwitch to using the tty-port reference counter to manage the life time\\nof the greybus tty state to avoid use after free after a disconnect.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.9.285\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.14.249\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.209\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.150\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.70\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.14.9\", \"versionStartIncluding\": \"4.9\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15\", \"versionStartIncluding\": \"4.9\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:47:27.000Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2021-47358\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:47:27.000Z\", \"dateReserved\": \"2024-05-21T14:28:16.988Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-05-21T14:44:50.221Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…