cve-2024-27057
Vulnerability from cvelistv5
Published
2024-05-01 12:54
Modified
2024-09-11 17:33
Severity
Summary
ASoC: SOF: ipc4-pcm: Workaround for crashed firmware on system suspend
Impacted products
VendorProduct
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:21:05.891Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3cac6eebea9b4bc5f041e157e45c76e212ad6759"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d153e8b154f9746ac969c85a4e6474760453647c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/c40aad7c81e5fba34b70123ed7ce3397fa62a4d2"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-27057",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:44:08.270203Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:31.867Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "sound/soc/sof/ipc4-pcm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3cac6eebea9b",
              "status": "affected",
              "version": "1da177e4c3f4",
              "versionType": "git"
            },
            {
              "lessThan": "d153e8b154f9",
              "status": "affected",
              "version": "1da177e4c3f4",
              "versionType": "git"
            },
            {
              "lessThan": "c40aad7c81e5",
              "status": "affected",
              "version": "1da177e4c3f4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "sound/soc/sof/ipc4-pcm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.23",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.11",
              "versionType": "custom"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: SOF: ipc4-pcm: Workaround for crashed firmware on system suspend\n\nWhen the system is suspended while audio is active, the\nsof_ipc4_pcm_hw_free() is invoked to reset the pipelines since during\nsuspend the DSP is turned off, streams will be re-started after resume.\n\nIf the firmware crashes during while audio is running (or when we reset\nthe stream before suspend) then the sof_ipc4_set_multi_pipeline_state()\nwill fail with IPC error and the state change is interrupted.\nThis will cause misalignment between the kernel and firmware state on next\nDSP boot resulting errors returned by firmware for IPC messages, eventually\nfailing the audio resume.\nOn stream close the errors are ignored so the kernel state will be\ncorrected on the next DSP boot, so the second boot after the DSP panic.\n\nIf sof_ipc4_trigger_pipelines() is called from sof_ipc4_pcm_hw_free() then\nstate parameter is SOF_IPC4_PIPE_RESET and only in this case.\n\nTreat a forced pipeline reset similarly to how we treat a pcm_free by\nignoring error on state sending to allow the kernel\u0027s state to be\nconsistent with the state the firmware will have after the next boot."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-05-29T05:27:47.518Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3cac6eebea9b4bc5f041e157e45c76e212ad6759"
        },
        {
          "url": "https://git.kernel.org/stable/c/d153e8b154f9746ac969c85a4e6474760453647c"
        },
        {
          "url": "https://git.kernel.org/stable/c/c40aad7c81e5fba34b70123ed7ce3397fa62a4d2"
        }
      ],
      "title": "ASoC: SOF: ipc4-pcm: Workaround for crashed firmware on system suspend",
      "x_generator": {
        "engine": "bippy-a5840b7849dd"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-27057",
    "datePublished": "2024-05-01T12:54:59.859Z",
    "dateReserved": "2024-02-19T14:20:24.214Z",
    "dateUpdated": "2024-09-11T17:33:31.867Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-27057\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-01T13:15:50.400\",\"lastModified\":\"2024-05-01T19:50:25.633\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nASoC: SOF: ipc4-pcm: Workaround for crashed firmware on system suspend\\n\\nWhen the system is suspended while audio is active, the\\nsof_ipc4_pcm_hw_free() is invoked to reset the pipelines since during\\nsuspend the DSP is turned off, streams will be re-started after resume.\\n\\nIf the firmware crashes during while audio is running (or when we reset\\nthe stream before suspend) then the sof_ipc4_set_multi_pipeline_state()\\nwill fail with IPC error and the state change is interrupted.\\nThis will cause misalignment between the kernel and firmware state on next\\nDSP boot resulting errors returned by firmware for IPC messages, eventually\\nfailing the audio resume.\\nOn stream close the errors are ignored so the kernel state will be\\ncorrected on the next DSP boot, so the second boot after the DSP panic.\\n\\nIf sof_ipc4_trigger_pipelines() is called from sof_ipc4_pcm_hw_free() then\\nstate parameter is SOF_IPC4_PIPE_RESET and only in this case.\\n\\nTreat a forced pipeline reset similarly to how we treat a pcm_free by\\nignoring error on state sending to allow the kernel\u0027s state to be\\nconsistent with the state the firmware will have after the next boot.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: ASoC: SOF: ipc4-pcm: workaround para firmware bloqueado en suspensi\u00f3n del sistema Cuando el sistema se suspende mientras el audio est\u00e1 activo, se invoca sof_ipc4_pcm_hw_free() para restablecer las canalizaciones desde durante la suspensi\u00f3n el DSP est\u00e1 apagado, las transmisiones se reiniciar\u00e1n despu\u00e9s de reanudarse. Si el firmware falla mientras se ejecuta el audio (o cuando reiniciamos la transmisi\u00f3n antes de suspenderla), entonces sof_ipc4_set_multi_pipeline_state() fallar\u00e1 con un error de IPC y se interrumpir\u00e1 el cambio de estado. Esto provocar\u00e1 una desalineaci\u00f3n entre el estado del kernel y del firmware en el siguiente arranque del DSP, lo que provocar\u00e1 errores devueltos por el firmware para los mensajes IPC, lo que eventualmente provocar\u00e1 un error en la reanudaci\u00f3n del audio. Al cerrar la transmisi\u00f3n, los errores se ignoran, por lo que el estado del kernel se corregir\u00e1 en el siguiente inicio del DSP, es decir, en el segundo inicio despu\u00e9s del p\u00e1nico del DSP. Si se llama a sof_ipc4_trigger_pipelines() desde sof_ipc4_pcm_hw_free() entonces el par\u00e1metro de estado es SOF_IPC4_PIPE_RESET y solo en este caso. Trate un reinicio forzado de canalizaci\u00f3n de manera similar a como tratamos un pcm_free ignorando el error en el env\u00edo del estado para permitir que el estado del kernel sea consistente con el estado que tendr\u00e1 el firmware despu\u00e9s del siguiente arranque.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3cac6eebea9b4bc5f041e157e45c76e212ad6759\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c40aad7c81e5fba34b70123ed7ce3397fa62a4d2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d153e8b154f9746ac969c85a4e6474760453647c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...