fkie_cve-2021-47383
Vulnerability from fkie_nvd
Published
2024-05-21 15:15
Modified
2024-11-21 06:36
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tty: Fix out-of-bound vmalloc access in imageblit This issue happens when a userspace program does an ioctl FBIOPUT_VSCREENINFO passing the fb_var_screeninfo struct containing only the fields xres, yres, and bits_per_pixel with values. If this struct is the same as the previous ioctl, the vc_resize() detects it and doesn't call the resize_screen(), leaving the fb_var_screeninfo incomplete. And this leads to the updatescrollmode() calculates a wrong value to fbcon_display->vrows, which makes the real_y() return a wrong value of y, and that value, eventually, causes the imageblit to access an out-of-bound address value. To solve this issue I made the resize_screen() be called even if the screen does not need any resizing, so it will "fix and fill" the fb_var_screeninfo independently.
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/067c694d06040db6f0c65281bb358452ca6d85b9
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/067c694d06040db6f0c65281bb358452ca6d85b9
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560
Impacted products
Vendor Product Version



{
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntty: Fix out-of-bound vmalloc access in imageblit\n\nThis issue happens when a userspace program does an ioctl\nFBIOPUT_VSCREENINFO passing the fb_var_screeninfo struct\ncontaining only the fields xres, yres, and bits_per_pixel\nwith values.\n\nIf this struct is the same as the previous ioctl, the\nvc_resize() detects it and doesn\u0027t call the resize_screen(),\nleaving the fb_var_screeninfo incomplete. And this leads to\nthe updatescrollmode() calculates a wrong value to\nfbcon_display-\u003evrows, which makes the real_y() return a\nwrong value of y, and that value, eventually, causes\nthe imageblit to access an out-of-bound address value.\n\nTo solve this issue I made the resize_screen() be called\neven if the screen does not need any resizing, so it will\n\"fix and fill\" the fb_var_screeninfo independently."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: tty: corrige el acceso vmalloc fuera de los l\u00edmites en imageblit. Este problema ocurre cuando un programa de espacio de usuario realiza un ioctl FBIOPUT_VSCREENINFO pasando la estructura fb_var_screeninfo que contiene solo los campos xres, yres y bits_per_pixel con valores. Si esta estructura es la misma que la ioctl anterior, vc_resize() la detecta y no llama a resize_screen(), dejando fb_var_screeninfo incompleto. Y esto lleva a que updatecrollmode() calcule un valor incorrecto para fbcon_display-\u0026gt;vrows, lo que hace que real_y() devuelva un valor incorrecto de y, y ese valor, eventualmente, hace que imageblit acceda a un valor de direcci\u00f3n fuera de los l\u00edmites. . Para resolver este problema, hice que se llamara a resize_screen() incluso si la pantalla no necesita ning\u00fan cambio de tama\u00f1o, por lo que \"arreglar\u00e1 y completar\u00e1\" fb_var_screeninfo de forma independiente."
    }
  ],
  "id": "CVE-2021-47383",
  "lastModified": "2024-11-21T06:36:01.867",
  "metrics": {},
  "published": "2024-05-21T15:15:23.873",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/067c694d06040db6f0c65281bb358452ca6d85b9"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/067c694d06040db6f0c65281bb358452ca6d85b9"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/3b0c406124719b625b1aba431659f5cdc24a982c"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/699d926585daa6ec44be556cdc1ab89e5d54557b"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/70aed03b1d5a5df974f456cdc8eedb213c94bb8b"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/7e71fcedfda6f7de18f850a6b36e78d78b04476f"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/883f7897a25e3ce14a7f274ca4c73f49ac84002a"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/8a6a240f52e14356386030d8958ae8b1761d2325"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "url": "https://git.kernel.org/stable/c/d570c48dd37dbe8fc6875d4461d01a9554ae2560"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Awaiting Analysis"
}


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.