{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/nfc: fix use-after-free llcp_sock_bind/connect\n\nCommits 8a4cd82d (\"nfc: fix refcount leak in llcp_sock_connect()\")\nand c33b1cc62 (\"nfc: fix refcount leak in llcp_sock_bind()\")\nfixed a refcount leak bug in bind/connect but introduced a\nuse-after-free if the same local is assigned to 2 different sockets.\n\nThis can be triggered by the following simple program:\n    int sock1 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP );\n    int sock2 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP );\n    memset( &addr, 0, sizeof(struct sockaddr_nfc_llcp) );\n    addr.sa_family = AF_NFC;\n    addr.nfc_protocol = NFC_PROTO_NFC_DEP;\n    bind( sock1, (struct sockaddr*) &addr, sizeof(struct sockaddr_nfc_llcp) )\n    bind( sock2, (struct sockaddr*) &addr, sizeof(struct sockaddr_nfc_llcp) )\n    close(sock1);\n    close(sock2);\n\nFix this by assigning NULL to llcp_sock->local after calling\nnfc_llcp_local_put.\n\nThis addresses CVE-2021-23134."
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/nfc/llcp_sock.c"
               ],
               "versions": [
                  {
                     "version": "a1cdd18c49d2",
                     "lessThan": "26157c82ba75",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "18013007b596",
                     "lessThan": "ccddad6dd285",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "538a6ff11516",
                     "lessThan": "18ae4a192a44",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "adbb1d218c5f",
                     "lessThan": "48fba458fe54",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "c89903c9eff2",
                     "lessThan": "e32352070bca",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "6fb003e5ae18",
                     "lessThan": "6b7021ed36da",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "8c9e4971e142",
                     "lessThan": "374cdde4dcc9",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "c33b1cc62ac0",
                     "lessThan": "18175fe17ae0",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "c33b1cc62ac0",
                     "lessThan": "c61760e6940d",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "net/nfc/llcp_sock.c"
               ],
               "versions": [
                  {
                     "version": "5.12",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "5.12",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.4.269",
                     "lessThanOrEqual": "4.4.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.9.269",
                     "lessThanOrEqual": "4.9.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.14.233",
                     "lessThanOrEqual": "4.14.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.19.191",
                     "lessThanOrEqual": "4.19.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.4.119",
                     "lessThanOrEqual": "5.4.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.10.37",
                     "lessThanOrEqual": "5.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.11.21",
                     "lessThanOrEqual": "5.11.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.12.4",
                     "lessThanOrEqual": "5.12.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.13",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/26157c82ba756767b2bd66d28a71b1bc454447f6"
            },
            {
               "url": "https://git.kernel.org/stable/c/ccddad6dd28530e716448e594c9ca7c76ccd0570"
            },
            {
               "url": "https://git.kernel.org/stable/c/18ae4a192a4496e48a5490b52812645d2413307c"
            },
            {
               "url": "https://git.kernel.org/stable/c/48fba458fe54cc2a980a05c13e6c19b8b2cfb610"
            },
            {
               "url": "https://git.kernel.org/stable/c/e32352070bcac22be6ed8ab635debc280bb65b8c"
            },
            {
               "url": "https://git.kernel.org/stable/c/6b7021ed36dabf29e56842e3408781cd3b82ef6e"
            },
            {
               "url": "https://git.kernel.org/stable/c/374cdde4dcc9c909a60713abdbbf96d5e3e09f91"
            },
            {
               "url": "https://git.kernel.org/stable/c/18175fe17ae043a0b81e5d511f8817825784c299"
            },
            {
               "url": "https://git.kernel.org/stable/c/c61760e6940dd4039a7f5e84a6afc9cdbf4d82b6"
            }
         ],
         "title": "net/nfc: fix use-after-free llcp_sock_bind/connect",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2021-47068",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
