CVE-2022-49940 (GCVE-0-2022-49940)

Vulnerability from cvelistv5 – Published: 2025-06-18 10:54 – Updated: 2026-05-11 19:09
VLAI?
Title
tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf()
Summary
In the Linux kernel, the following vulnerability has been resolved: tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf() A null pointer dereference can happen when attempting to access the "gsm->receive()" function in gsmld_receive_buf(). Currently, the code assumes that gsm->recieve is only called after MUX activation. Since the gsmld_receive_buf() function can be accessed without the need to initialize the MUX, the gsm->receive() function will not be set and a NULL pointer dereference will occur. Fix this by avoiding the call to "gsm->receive()" in case the function is not initialized by adding a sanity check. Call Trace: <TASK> gsmld_receive_buf+0x1c2/0x2f0 drivers/tty/n_gsm.c:2861 tiocsti drivers/tty/tty_io.c:2293 [inline] tty_ioctl+0xa75/0x15d0 drivers/tty/tty_io.c:2692 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: b8faa754b523a845facdc83120b2ecd290d7fa6d , < 5a82cf64f8ad63caf6bf115642ce44ddbc64311e (git)
Affected: dfa9b6d34aac2154b5e926d7a7a061123bf137c6 , < 309aea4b6b813f6678c3a547cfd7fe3a76ffa976 (git)
Affected: 5e59c010c6862da329db17acca086afd8bea1aa8 , < 5aa37f9510345a812c0998bcbbc4d88d1dcc4d8b (git)
Affected: 01aecd917114577c423f07cec0d186ad007d76fc , < f16c6d2e58a4c2b972efcf9eb12390ee0ba3befb (git)
Affected: 2dc1be365a70699f7dda92fd9e48b84546086070 (git)
Create a notification for this product.
Linux Linux Affected: 5.15.61 , < 5.15.66 (semver)
Affected: 5.19.2 , < 5.19.8 (semver)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/n_gsm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5a82cf64f8ad63caf6bf115642ce44ddbc64311e",
              "status": "affected",
              "version": "b8faa754b523a845facdc83120b2ecd290d7fa6d",
              "versionType": "git"
            },
            {
              "lessThan": "309aea4b6b813f6678c3a547cfd7fe3a76ffa976",
              "status": "affected",
              "version": "dfa9b6d34aac2154b5e926d7a7a061123bf137c6",
              "versionType": "git"
            },
            {
              "lessThan": "5aa37f9510345a812c0998bcbbc4d88d1dcc4d8b",
              "status": "affected",
              "version": "5e59c010c6862da329db17acca086afd8bea1aa8",
              "versionType": "git"
            },
            {
              "lessThan": "f16c6d2e58a4c2b972efcf9eb12390ee0ba3befb",
              "status": "affected",
              "version": "01aecd917114577c423f07cec0d186ad007d76fc",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2dc1be365a70699f7dda92fd9e48b84546086070",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/n_gsm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5.15.66",
              "status": "affected",
              "version": "5.15.61",
              "versionType": "semver"
            },
            {
              "lessThan": "5.19.8",
              "status": "affected",
              "version": "5.19.2",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.66",
                  "versionStartIncluding": "5.15.61",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.8",
                  "versionStartIncluding": "5.19.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.18.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntty: n_gsm: add sanity check for gsm-\u003ereceive in gsm_receive_buf()\n\nA null pointer dereference can happen when attempting to access the\n\"gsm-\u003ereceive()\" function in gsmld_receive_buf(). Currently, the code\nassumes that gsm-\u003erecieve is only called after MUX activation.\nSince the gsmld_receive_buf() function can be accessed without the need to\ninitialize the MUX, the gsm-\u003ereceive() function will not be set and a\nNULL pointer dereference will occur.\n\nFix this by avoiding the call to \"gsm-\u003ereceive()\" in case the function is\nnot initialized by adding a sanity check.\n\nCall Trace:\n \u003cTASK\u003e\n gsmld_receive_buf+0x1c2/0x2f0 drivers/tty/n_gsm.c:2861\n tiocsti drivers/tty/tty_io.c:2293 [inline]\n tty_ioctl+0xa75/0x15d0 drivers/tty/tty_io.c:2692\n vfs_ioctl fs/ioctl.c:51 [inline]\n __do_sys_ioctl fs/ioctl.c:870 [inline]\n __se_sys_ioctl fs/ioctl.c:856 [inline]\n __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:09:38.272Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5a82cf64f8ad63caf6bf115642ce44ddbc64311e"
        },
        {
          "url": "https://git.kernel.org/stable/c/309aea4b6b813f6678c3a547cfd7fe3a76ffa976"
        },
        {
          "url": "https://git.kernel.org/stable/c/5aa37f9510345a812c0998bcbbc4d88d1dcc4d8b"
        },
        {
          "url": "https://git.kernel.org/stable/c/f16c6d2e58a4c2b972efcf9eb12390ee0ba3befb"
        }
      ],
      "title": "tty: n_gsm: add sanity check for gsm-\u003ereceive in gsm_receive_buf()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49940",
    "datePublished": "2025-06-18T10:54:40.745Z",
    "dateReserved": "2025-05-01T14:05:17.255Z",
    "dateUpdated": "2026-05-11T19:09:38.272Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-49940",
      "date": "2026-05-22",
      "epss": "0.00065",
      "percentile": "0.20131"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49940\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T11:15:20.917\",\"lastModified\":\"2025-11-14T19:39:56.137\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntty: n_gsm: add sanity check for gsm-\u003ereceive in gsm_receive_buf()\\n\\nA null pointer dereference can happen when attempting to access the\\n\\\"gsm-\u003ereceive()\\\" function in gsmld_receive_buf(). Currently, the code\\nassumes that gsm-\u003erecieve is only called after MUX activation.\\nSince the gsmld_receive_buf() function can be accessed without the need to\\ninitialize the MUX, the gsm-\u003ereceive() function will not be set and a\\nNULL pointer dereference will occur.\\n\\nFix this by avoiding the call to \\\"gsm-\u003ereceive()\\\" in case the function is\\nnot initialized by adding a sanity check.\\n\\nCall Trace:\\n \u003cTASK\u003e\\n gsmld_receive_buf+0x1c2/0x2f0 drivers/tty/n_gsm.c:2861\\n tiocsti drivers/tty/tty_io.c:2293 [inline]\\n tty_ioctl+0xa75/0x15d0 drivers/tty/tty_io.c:2692\\n vfs_ioctl fs/ioctl.c:51 [inline]\\n __do_sys_ioctl fs/ioctl.c:870 [inline]\\n __se_sys_ioctl fs/ioctl.c:856 [inline]\\n __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856\\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\\n do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80\\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tty: n_gsm: a\u00f1adir comprobaci\u00f3n de validez para gsm-\u0026gt;receive en gsm_receive_buf(). Se puede producir una desreferencia de puntero nulo al intentar acceder a la funci\u00f3n \\\"gsm-\u0026gt;receive()\\\" en gsmld_receive_buf(). Actualmente, el c\u00f3digo asume que gsm-\u0026gt;recieve solo se llama despu\u00e9s de la activaci\u00f3n del MUX. Dado que se puede acceder a la funci\u00f3n gsmld_receive_buf() sin necesidad de inicializar el MUX, esta funci\u00f3n no se activar\u00e1 y se producir\u00e1 una desreferencia de puntero nulo. Para solucionar esto, se debe evitar la llamada a \\\"gsm-\u0026gt;receive()\\\" si la funci\u00f3n no se inicializa mediante una comprobaci\u00f3n de validez. Rastreo de llamadas:  gsmld_receive_buf+0x1c2/0x2f0 drivers/tty/n_gsm.c:2861 tiocsti drivers/tty/tty_io.c:2293 [en l\u00ednea] tty_ioctl+0xa75/0x15d0 drivers/tty/tty_io.c:2692 vfs_ioctl fs/ioctl.c:51 [en l\u00ednea] __do_sys_ioctl fs/ioctl.c:870 [en l\u00ednea] __se_sys_ioctl fs/ioctl.c:856 [en l\u00ednea] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [en l\u00ednea] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd\"}],\"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\":\"CWE-476\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.61\",\"versionEndExcluding\":\"5.15.66\",\"matchCriteriaId\":\"7A949C3C-CF0E-4534-AACE-D99FED95FCAE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.18.18\",\"versionEndExcluding\":\"5.19\",\"matchCriteriaId\":\"B60CAFE2-08C3-461B-B5F8-25BEB0C9853E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.19.2\",\"versionEndExcluding\":\"5.19.8\",\"matchCriteriaId\":\"00F39B21-9F82-4FE5-A788-FD1349833FBC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"E8BD11A3-8643-49B6-BADE-5029A0117325\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"5F0AD220-F6A9-4012-8636-155F1B841FAD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"A46498B3-78E1-4623-AAE1-94D29A42BE4E\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/309aea4b6b813f6678c3a547cfd7fe3a76ffa976\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5a82cf64f8ad63caf6bf115642ce44ddbc64311e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5aa37f9510345a812c0998bcbbc4d88d1dcc4d8b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/f16c6d2e58a4c2b972efcf9eb12390ee0ba3befb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


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…