CVE-2022-48629 (GCVE-0-2022-48629)
Vulnerability from cvelistv5
Published
2024-03-05 11:18
Modified
2025-05-04 08:20
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: qcom-rng - ensure buffer for generate is completely filled The generate function in struct rng_alg expects that the destination buffer is completely filled if the function returns 0. qcom_rng_read() can run into a situation where the buffer is partially filled with randomness and the remaining part of the buffer is zeroed since qcom_rng_generate() doesn't check the return value. This issue can be reproduced by running the following from libkcapi: kcapi-rng -b 9000000 > OUTFILE The generated OUTFILE will have three huge sections that contain all zeros, and this is caused by the code where the test 'val & PRNG_STATUS_DATA_AVAIL' fails. Let's fix this issue by ensuring that qcom_rng_read() always returns with a full buffer if the function returns success. Let's also have qcom_rng_generate() return the correct value. Here's some statistics from the ent project (https://www.fourmilab.ch/random/) that shows information about the quality of the generated numbers: $ ent -c qcom-random-before Value Char Occurrences Fraction 0 606748 0.067416 1 33104 0.003678 2 33001 0.003667 ... 253 � 32883 0.003654 254 � 33035 0.003671 255 � 33239 0.003693 Total: 9000000 1.000000 Entropy = 7.811590 bits per byte. Optimum compression would reduce the size of this 9000000 byte file by 2 percent. Chi square distribution for 9000000 samples is 9329962.81, and randomly would exceed this value less than 0.01 percent of the times. Arithmetic mean value of data bytes is 119.3731 (127.5 = random). Monte Carlo value for Pi is 3.197293333 (error 1.77 percent). Serial correlation coefficient is 0.159130 (totally uncorrelated = 0.0). Without this patch, the results of the chi-square test is 0.01%, and the numbers are certainly not random according to ent's project page. The results improve with this patch: $ ent -c qcom-random-after Value Char Occurrences Fraction 0 35432 0.003937 1 35127 0.003903 2 35424 0.003936 ... 253 � 35201 0.003911 254 � 34835 0.003871 255 � 35368 0.003930 Total: 9000000 1.000000 Entropy = 7.999979 bits per byte. Optimum compression would reduce the size of this 9000000 byte file by 0 percent. Chi square distribution for 9000000 samples is 258.77, and randomly would exceed this value 42.24 percent of the times. Arithmetic mean value of data bytes is 127.5006 (127.5 = random). Monte Carlo value for Pi is 3.141277333 (error 0.01 percent). Serial correlation coefficient is 0.000468 (totally uncorrelated = 0.0). This change was tested on a Nexus 5 phone (msm8974 SoC).
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b Exploit, Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d Exploit, Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d Exploit, Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b Exploit, Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d Exploit, Mailing List, Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d Exploit, Mailing List, Patch
af854a3a-2127-422b-91ae-364da2661108 https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd Exploit, Mailing List, Patch
Impacted products
Vendor Product Version
Linux Linux Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Version: ceec5f5b59882b871a722ca4d49b767a09a4bde9
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48629",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-03-05T16:07:05.481936Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:16:36.965Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T15:17:55.625Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/qcom-rng.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            },
            {
              "lessThan": "184f7bd08ce56f003530fc19f160d54e75bf5c9d",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            },
            {
              "lessThan": "0f9b7b8df17525e464294c916acc8194ce38446b",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            },
            {
              "lessThan": "ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            },
            {
              "lessThan": "485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            },
            {
              "lessThan": "a680b1832ced3b5fa7c93484248fd221ea0d614b",
              "status": "affected",
              "version": "ceec5f5b59882b871a722ca4d49b767a09a4bde9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/crypto/qcom-rng.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "lessThan": "4.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.236",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.187",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.108",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.31",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.17",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.236",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.187",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.108",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.31",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.17",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: qcom-rng - ensure buffer for generate is completely filled\n\nThe generate function in struct rng_alg expects that the destination\nbuffer is completely filled if the function returns 0. qcom_rng_read()\ncan run into a situation where the buffer is partially filled with\nrandomness and the remaining part of the buffer is zeroed since\nqcom_rng_generate() doesn\u0027t check the return value. This issue can\nbe reproduced by running the following from libkcapi:\n\n    kcapi-rng -b 9000000 \u003e OUTFILE\n\nThe generated OUTFILE will have three huge sections that contain all\nzeros, and this is caused by the code where the test\n\u0027val \u0026 PRNG_STATUS_DATA_AVAIL\u0027 fails.\n\nLet\u0027s fix this issue by ensuring that qcom_rng_read() always returns\nwith a full buffer if the function returns success. Let\u0027s also have\nqcom_rng_generate() return the correct value.\n\nHere\u0027s some statistics from the ent project\n(https://www.fourmilab.ch/random/) that shows information about the\nquality of the generated numbers:\n\n    $ ent -c qcom-random-before\n    Value Char Occurrences Fraction\n      0           606748   0.067416\n      1            33104   0.003678\n      2            33001   0.003667\n    ...\n    253   \ufffd        32883   0.003654\n    254   \ufffd        33035   0.003671\n    255   \ufffd        33239   0.003693\n\n    Total:       9000000   1.000000\n\n    Entropy = 7.811590 bits per byte.\n\n    Optimum compression would reduce the size\n    of this 9000000 byte file by 2 percent.\n\n    Chi square distribution for 9000000 samples is 9329962.81, and\n    randomly would exceed this value less than 0.01 percent of the\n    times.\n\n    Arithmetic mean value of data bytes is 119.3731 (127.5 = random).\n    Monte Carlo value for Pi is 3.197293333 (error 1.77 percent).\n    Serial correlation coefficient is 0.159130 (totally uncorrelated =\n    0.0).\n\nWithout this patch, the results of the chi-square test is 0.01%, and\nthe numbers are certainly not random according to ent\u0027s project page.\nThe results improve with this patch:\n\n    $ ent -c qcom-random-after\n    Value Char Occurrences Fraction\n      0            35432   0.003937\n      1            35127   0.003903\n      2            35424   0.003936\n    ...\n    253   \ufffd        35201   0.003911\n    254   \ufffd        34835   0.003871\n    255   \ufffd        35368   0.003930\n\n    Total:       9000000   1.000000\n\n    Entropy = 7.999979 bits per byte.\n\n    Optimum compression would reduce the size\n    of this 9000000 byte file by 0 percent.\n\n    Chi square distribution for 9000000 samples is 258.77, and randomly\n    would exceed this value 42.24 percent of the times.\n\n    Arithmetic mean value of data bytes is 127.5006 (127.5 = random).\n    Monte Carlo value for Pi is 3.141277333 (error 0.01 percent).\n    Serial correlation coefficient is 0.000468 (totally uncorrelated =\n    0.0).\n\nThis change was tested on a Nexus 5 phone (msm8974 SoC)."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T08:20:04.717Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d"
        },
        {
          "url": "https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d"
        },
        {
          "url": "https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b"
        },
        {
          "url": "https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd"
        },
        {
          "url": "https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d"
        },
        {
          "url": "https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b"
        }
      ],
      "title": "crypto: qcom-rng - ensure buffer for generate is completely filled",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48629",
    "datePublished": "2024-03-05T11:18:06.562Z",
    "dateReserved": "2024-02-25T13:44:28.315Z",
    "dateUpdated": "2025-05-04T08:20:04.717Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-48629\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-03-05T12:15:45.707\",\"lastModified\":\"2025-02-26T07:00:18.270\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncrypto: qcom-rng - ensure buffer for generate is completely filled\\n\\nThe generate function in struct rng_alg expects that the destination\\nbuffer is completely filled if the function returns 0. qcom_rng_read()\\ncan run into a situation where the buffer is partially filled with\\nrandomness and the remaining part of the buffer is zeroed since\\nqcom_rng_generate() doesn\u0027t check the return value. This issue can\\nbe reproduced by running the following from libkcapi:\\n\\n    kcapi-rng -b 9000000 \u003e OUTFILE\\n\\nThe generated OUTFILE will have three huge sections that contain all\\nzeros, and this is caused by the code where the test\\n\u0027val \u0026 PRNG_STATUS_DATA_AVAIL\u0027 fails.\\n\\nLet\u0027s fix this issue by ensuring that qcom_rng_read() always returns\\nwith a full buffer if the function returns success. Let\u0027s also have\\nqcom_rng_generate() return the correct value.\\n\\nHere\u0027s some statistics from the ent project\\n(https://www.fourmilab.ch/random/) that shows information about the\\nquality of the generated numbers:\\n\\n    $ ent -c qcom-random-before\\n    Value Char Occurrences Fraction\\n      0           606748   0.067416\\n      1            33104   0.003678\\n      2            33001   0.003667\\n    ...\\n    253   \ufffd        32883   0.003654\\n    254   \ufffd        33035   0.003671\\n    255   \ufffd        33239   0.003693\\n\\n    Total:       9000000   1.000000\\n\\n    Entropy = 7.811590 bits per byte.\\n\\n    Optimum compression would reduce the size\\n    of this 9000000 byte file by 2 percent.\\n\\n    Chi square distribution for 9000000 samples is 9329962.81, and\\n    randomly would exceed this value less than 0.01 percent of the\\n    times.\\n\\n    Arithmetic mean value of data bytes is 119.3731 (127.5 = random).\\n    Monte Carlo value for Pi is 3.197293333 (error 1.77 percent).\\n    Serial correlation coefficient is 0.159130 (totally uncorrelated =\\n    0.0).\\n\\nWithout this patch, the results of the chi-square test is 0.01%, and\\nthe numbers are certainly not random according to ent\u0027s project page.\\nThe results improve with this patch:\\n\\n    $ ent -c qcom-random-after\\n    Value Char Occurrences Fraction\\n      0            35432   0.003937\\n      1            35127   0.003903\\n      2            35424   0.003936\\n    ...\\n    253   \ufffd        35201   0.003911\\n    254   \ufffd        34835   0.003871\\n    255   \ufffd        35368   0.003930\\n\\n    Total:       9000000   1.000000\\n\\n    Entropy = 7.999979 bits per byte.\\n\\n    Optimum compression would reduce the size\\n    of this 9000000 byte file by 0 percent.\\n\\n    Chi square distribution for 9000000 samples is 258.77, and randomly\\n    would exceed this value 42.24 percent of the times.\\n\\n    Arithmetic mean value of data bytes is 127.5006 (127.5 = random).\\n    Monte Carlo value for Pi is 3.141277333 (error 0.01 percent).\\n    Serial correlation coefficient is 0.000468 (totally uncorrelated =\\n    0.0).\\n\\nThis change was tested on a Nexus 5 phone (msm8974 SoC).\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: crypto: qcom-rng: aseg\u00farese de que el b\u00fafer para generar est\u00e9 completamente lleno. La funci\u00f3n de generaci\u00f3n en la estructura rng_alg espera que el b\u00fafer de destino est\u00e9 completamente lleno si la funci\u00f3n devuelve 0. qcom_rng_read() puede ejecutarse en una situaci\u00f3n en la que el b\u00fafer est\u00e1 parcialmente lleno de aleatoriedad y la parte restante del b\u00fafer se pone a cero ya que qcom_rng_generate() no verifica el valor de retorno. Este problema se puede reproducir ejecutando lo siguiente desde libkcapi: kcapi-rng -b 9000000 \u0026gt; OUTFILE El OUTFILE generado tendr\u00e1 tres secciones enormes que contienen todos ceros, y esto se debe al c\u00f3digo donde falla la prueba \u0027val \u0026amp; PRNG_STATUS_DATA_AVAIL\u0027. Solucionemos este problema asegur\u00e1ndonos de que qcom_rng_read() siempre regrese con un b\u00fafer lleno si la funci\u00f3n tiene \u00e9xito. Tambi\u00e9n hagamos que qcom_rng_generate() devuelva el valor correcto. Aqu\u00ed hay algunas estad\u00edsticas del proyecto ent (https://www.fourmilab.ch/random/) que muestra informaci\u00f3n sobre la calidad de los n\u00fameros generados: $ ent -c qcom-random-before Valor Char Ocurrencias Fracci\u00f3n 0 606748 0.067416 1 33104 0,003678 2 33001 0,003667 ... 253 ? 32883 0,003654 254 ? 33035 0,003671 255 ? 33239 0,003693 Total: 9000000 1,000000 Entrop\u00eda = 7,811590 bits por byte. Una compresi\u00f3n \u00f3ptima reducir\u00eda el tama\u00f1o de este archivo de 9000000 bytes en un 2 por ciento. La distribuci\u00f3n de chi cuadrado para 9000000 muestras es 9329962,81 y aleatoriamente exceder\u00eda este valor menos del 0,01 por ciento de las veces. El valor medio aritm\u00e9tico de los bytes de datos es 119,3731 (127,5 = aleatorio). El valor de Monte Carlo para Pi es 3,197293333 (error del 1,77 por ciento). El coeficiente de correlaci\u00f3n serial es 0,159130 (totalmente no correlacionado = 0,0). Sin este parche, los resultados de la prueba de chi-cuadrado son del 0,01% y los n\u00fameros ciertamente no son aleatorios seg\u00fan la p\u00e1gina del proyecto de ent. Los resultados mejoran con este parche: $ ent -c qcom-random-after Valor Char Ocurrencias Fracci\u00f3n 0 35432 0.003937 1 35127 0.003903 2 35424 0.003936 ... 253 ? 35201 0,003911 254 ? 34835 0,003871 255 ? 35368 0,003930 Total: 9000000 1,000000 Entrop\u00eda = 7,999979 bits por byte. Una compresi\u00f3n \u00f3ptima reducir\u00eda el tama\u00f1o de este archivo de 9000000 bytes en un 0 por ciento. La distribuci\u00f3n de chi cuadrado para 9000000 muestras es 258,77 y aleatoriamente exceder\u00eda este valor el 42,24 por ciento de las veces. El valor medio aritm\u00e9tico de los bytes de datos es 127,5006 (127,5 = aleatorio). El valor de Monte Carlo para Pi es 3,141277333 (error del 0,01 por ciento). El coeficiente de correlaci\u00f3n serial es 0,000468 (totalmente no correlacionado = 0,0). Este cambio se prob\u00f3 en un tel\u00e9fono Nexus 5 (SoC msm8974).\"}],\"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:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.19\",\"versionEndExcluding\":\"4.19.236\",\"matchCriteriaId\":\"D1F07A37-C787-4411-B951-D5CEC6EFBA6D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.187\",\"matchCriteriaId\":\"D9FFB805-4ED2-4FAE-9EF4-8AB4BC9D8F5C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.108\",\"matchCriteriaId\":\"24925527-AC4A-4594-8D6C-3B34D31862C5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.31\",\"matchCriteriaId\":\"F25C317E-A673-47D1-844E-171C9BFDF352\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.16.17\",\"matchCriteriaId\":\"DC9A634D-C617-4F8C-ADEF-AF94CE69D687\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"7BD5F8D9-54FA-4CB0-B4F0-CB0471FDDB2D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"E6E34B23-78B4-4516-9BD8-61B33F4AC49A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"C030FA3D-03F4-4FB9-9DBF-D08E5CAC51AA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"B2D2677C-5389-4AE9-869D-0F881E80D923\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"EFA3917C-C322-4D92-912D-ECE45B2E7416\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"BED18363-5ABC-4639-8BBA-68E771E5BB3F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc7:*:*:*:*:*:*\",\"matchCriteriaId\":\"7F635F96-FA0A-4769-ADE8-232B3AC9116D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.17:rc8:*:*:*:*:*:*\",\"matchCriteriaId\":\"FD39FE73-2A9D-4C92-AE7A-CA22F84B228D\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-03T15:17:55.625Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-48629\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-03-05T16:07:05.481936Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:15.331Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"crypto: qcom-rng - ensure buffer for generate is completely filled\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"184f7bd08ce56f003530fc19f160d54e75bf5c9d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"0f9b7b8df17525e464294c916acc8194ce38446b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ceec5f5b59882b871a722ca4d49b767a09a4bde9\", \"lessThan\": \"a680b1832ced3b5fa7c93484248fd221ea0d614b\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/crypto/qcom-rng.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.19\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.19\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.236\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.187\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.108\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.31\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.16.17\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.16.*\"}, {\"status\": \"unaffected\", \"version\": \"5.17\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/crypto/qcom-rng.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a8e32bbb96c25b7ab29b1894dcd45e0b3b08fd9d\"}, {\"url\": \"https://git.kernel.org/stable/c/184f7bd08ce56f003530fc19f160d54e75bf5c9d\"}, {\"url\": \"https://git.kernel.org/stable/c/0f9b7b8df17525e464294c916acc8194ce38446b\"}, {\"url\": \"https://git.kernel.org/stable/c/ab9337c7cb6f875b6286440b1adfbeeef2b2b2bd\"}, {\"url\": \"https://git.kernel.org/stable/c/485995cbc98a4f77cfd4f8ed4dd7ff8ab262964d\"}, {\"url\": \"https://git.kernel.org/stable/c/a680b1832ced3b5fa7c93484248fd221ea0d614b\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncrypto: qcom-rng - ensure buffer for generate is completely filled\\n\\nThe generate function in struct rng_alg expects that the destination\\nbuffer is completely filled if the function returns 0. qcom_rng_read()\\ncan run into a situation where the buffer is partially filled with\\nrandomness and the remaining part of the buffer is zeroed since\\nqcom_rng_generate() doesn\u0027t check the return value. This issue can\\nbe reproduced by running the following from libkcapi:\\n\\n    kcapi-rng -b 9000000 \u003e OUTFILE\\n\\nThe generated OUTFILE will have three huge sections that contain all\\nzeros, and this is caused by the code where the test\\n\u0027val \u0026 PRNG_STATUS_DATA_AVAIL\u0027 fails.\\n\\nLet\u0027s fix this issue by ensuring that qcom_rng_read() always returns\\nwith a full buffer if the function returns success. Let\u0027s also have\\nqcom_rng_generate() return the correct value.\\n\\nHere\u0027s some statistics from the ent project\\n(https://www.fourmilab.ch/random/) that shows information about the\\nquality of the generated numbers:\\n\\n    $ ent -c qcom-random-before\\n    Value Char Occurrences Fraction\\n      0           606748   0.067416\\n      1            33104   0.003678\\n      2            33001   0.003667\\n    ...\\n    253   \\ufffd        32883   0.003654\\n    254   \\ufffd        33035   0.003671\\n    255   \\ufffd        33239   0.003693\\n\\n    Total:       9000000   1.000000\\n\\n    Entropy = 7.811590 bits per byte.\\n\\n    Optimum compression would reduce the size\\n    of this 9000000 byte file by 2 percent.\\n\\n    Chi square distribution for 9000000 samples is 9329962.81, and\\n    randomly would exceed this value less than 0.01 percent of the\\n    times.\\n\\n    Arithmetic mean value of data bytes is 119.3731 (127.5 = random).\\n    Monte Carlo value for Pi is 3.197293333 (error 1.77 percent).\\n    Serial correlation coefficient is 0.159130 (totally uncorrelated =\\n    0.0).\\n\\nWithout this patch, the results of the chi-square test is 0.01%, and\\nthe numbers are certainly not random according to ent\u0027s project page.\\nThe results improve with this patch:\\n\\n    $ ent -c qcom-random-after\\n    Value Char Occurrences Fraction\\n      0            35432   0.003937\\n      1            35127   0.003903\\n      2            35424   0.003936\\n    ...\\n    253   \\ufffd        35201   0.003911\\n    254   \\ufffd        34835   0.003871\\n    255   \\ufffd        35368   0.003930\\n\\n    Total:       9000000   1.000000\\n\\n    Entropy = 7.999979 bits per byte.\\n\\n    Optimum compression would reduce the size\\n    of this 9000000 byte file by 0 percent.\\n\\n    Chi square distribution for 9000000 samples is 258.77, and randomly\\n    would exceed this value 42.24 percent of the times.\\n\\n    Arithmetic mean value of data bytes is 127.5006 (127.5 = random).\\n    Monte Carlo value for Pi is 3.141277333 (error 0.01 percent).\\n    Serial correlation coefficient is 0.000468 (totally uncorrelated =\\n    0.0).\\n\\nThis change was tested on a Nexus 5 phone (msm8974 SoC).\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.236\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.187\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.108\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.31\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16.17\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.17\", \"versionStartIncluding\": \"4.19\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T08:20:04.717Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-48629\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-05-04T08:20:04.717Z\", \"dateReserved\": \"2024-02-25T13:44:28.315Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-03-05T11:18:06.562Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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.


Loading…

Loading…