CVE-2024-37078
Vulnerability from cvelistv5
Published
2024-06-25 14:22
Modified
2024-12-19 09:03
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix potential kernel bug due to lack of writeback flag waiting Destructive writes to a block device on which nilfs2 is mounted can cause a kernel bug in the folio/page writeback start routine or writeback end routine (__folio_start_writeback in the log below): kernel BUG at mm/page-writeback.c:3070! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI ... RIP: 0010:__folio_start_writeback+0xbaa/0x10e0 Code: 25 ff 0f 00 00 0f 84 18 01 00 00 e8 40 ca c6 ff e9 17 f6 ff ff e8 36 ca c6 ff 4c 89 f7 48 c7 c6 80 c0 12 84 e8 e7 b3 0f 00 90 <0f> 0b e8 1f ca c6 ff 4c 89 f7 48 c7 c6 a0 c6 12 84 e8 d0 b3 0f 00 ... Call Trace: <TASK> nilfs_segctor_do_construct+0x4654/0x69d0 [nilfs2] nilfs_segctor_construct+0x181/0x6b0 [nilfs2] nilfs_segctor_thread+0x548/0x11c0 [nilfs2] kthread+0x2f0/0x390 ret_from_fork+0x4b/0x80 ret_from_fork_asm+0x1a/0x30 </TASK> This is because when the log writer starts a writeback for segment summary blocks or a super root block that use the backing device's page cache, it does not wait for the ongoing folio/page writeback, resulting in an inconsistent writeback state. Fix this issue by waiting for ongoing writebacks when putting folios/pages on the backing device into writeback state.
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe
Impacted products
Vendor Product Version
Linux Linux Version: 2.6.30
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T03:43:50.879Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-37078",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:08:24.419560Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:43.007Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/nilfs2/segment.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "95f6f81e50d858a7c9aa7c795ec14a0ac3819118",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "a75b8f493dfc48aa38c518430bd9e03b53bffebe",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "0ecfe3a92869a59668d27228dabbd7965e83567f",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "33900d7eae616647e179eee1c66ebe654ee39627",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "271dcd977ccda8c7a26e360425ae7b4db7d2ecc0",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "614d397be0cf43412b3f94a0f6460eddced8ce92",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            },
            {
              "lessThan": "a4ca369ca221bb7e06c725792ac107f0e48e82e7",
              "status": "affected",
              "version": "9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nilfs2/segment.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.30"
            },
            {
              "lessThan": "2.6.30",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.317",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.279",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.162",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnilfs2: fix potential kernel bug due to lack of writeback flag waiting\n\nDestructive writes to a block device on which nilfs2 is mounted can cause\na kernel bug in the folio/page writeback start routine or writeback end\nroutine (__folio_start_writeback in the log below):\n\n kernel BUG at mm/page-writeback.c:3070!\n Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI\n ...\n RIP: 0010:__folio_start_writeback+0xbaa/0x10e0\n Code: 25 ff 0f 00 00 0f 84 18 01 00 00 e8 40 ca c6 ff e9 17 f6 ff ff\n  e8 36 ca c6 ff 4c 89 f7 48 c7 c6 80 c0 12 84 e8 e7 b3 0f 00 90 \u003c0f\u003e\n  0b e8 1f ca c6 ff 4c 89 f7 48 c7 c6 a0 c6 12 84 e8 d0 b3 0f 00\n ...\n Call Trace:\n  \u003cTASK\u003e\n  nilfs_segctor_do_construct+0x4654/0x69d0 [nilfs2]\n  nilfs_segctor_construct+0x181/0x6b0 [nilfs2]\n  nilfs_segctor_thread+0x548/0x11c0 [nilfs2]\n  kthread+0x2f0/0x390\n  ret_from_fork+0x4b/0x80\n  ret_from_fork_asm+0x1a/0x30\n  \u003c/TASK\u003e\n\nThis is because when the log writer starts a writeback for segment summary\nblocks or a super root block that use the backing device\u0027s page cache, it\ndoes not wait for the ongoing folio/page writeback, resulting in an\ninconsistent writeback state.\n\nFix this issue by waiting for ongoing writebacks when putting\nfolios/pages on the backing device into writeback state."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:03:49.590Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118"
        },
        {
          "url": "https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe"
        },
        {
          "url": "https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f"
        },
        {
          "url": "https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627"
        },
        {
          "url": "https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0"
        },
        {
          "url": "https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92"
        },
        {
          "url": "https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7"
        }
      ],
      "title": "nilfs2: fix potential kernel bug due to lack of writeback flag waiting",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-37078",
    "datePublished": "2024-06-25T14:22:35.558Z",
    "dateReserved": "2024-06-24T13:54:11.068Z",
    "dateUpdated": "2024-12-19T09:03:49.590Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-37078\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-06-25T15:15:12.287\",\"lastModified\":\"2024-11-21T09:23:08.943\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnilfs2: fix potential kernel bug due to lack of writeback flag waiting\\n\\nDestructive writes to a block device on which nilfs2 is mounted can cause\\na kernel bug in the folio/page writeback start routine or writeback end\\nroutine (__folio_start_writeback in the log below):\\n\\n kernel BUG at mm/page-writeback.c:3070!\\n Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI\\n ...\\n RIP: 0010:__folio_start_writeback+0xbaa/0x10e0\\n Code: 25 ff 0f 00 00 0f 84 18 01 00 00 e8 40 ca c6 ff e9 17 f6 ff ff\\n  e8 36 ca c6 ff 4c 89 f7 48 c7 c6 80 c0 12 84 e8 e7 b3 0f 00 90 \u003c0f\u003e\\n  0b e8 1f ca c6 ff 4c 89 f7 48 c7 c6 a0 c6 12 84 e8 d0 b3 0f 00\\n ...\\n Call Trace:\\n  \u003cTASK\u003e\\n  nilfs_segctor_do_construct+0x4654/0x69d0 [nilfs2]\\n  nilfs_segctor_construct+0x181/0x6b0 [nilfs2]\\n  nilfs_segctor_thread+0x548/0x11c0 [nilfs2]\\n  kthread+0x2f0/0x390\\n  ret_from_fork+0x4b/0x80\\n  ret_from_fork_asm+0x1a/0x30\\n  \u003c/TASK\u003e\\n\\nThis is because when the log writer starts a writeback for segment summary\\nblocks or a super root block that use the backing device\u0027s page cache, it\\ndoes not wait for the ongoing folio/page writeback, resulting in an\\ninconsistent writeback state.\\n\\nFix this issue by waiting for ongoing writebacks when putting\\nfolios/pages on the backing device into writeback state.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: corrige un posible error en el kernel debido a la falta de indicador de escritura reescrita en espera Las escrituras destructivas en un dispositivo de bloque en el que est\u00e1 montado nilfs2 pueden causar un error en el kernel en la rutina de inicio de reescritura de folio/p\u00e1gina o Rutina de fin de reescritura (__folio_start_writeback en el registro a continuaci\u00f3n): \u00a1ERROR del kernel en mm/page-writeback.c:3070! Vaya: c\u00f3digo de operaci\u00f3n no v\u00e1lido: 0000 [#1] PREEMPT SMP KASAN PTI... RIP: 0010:__folio_start_writeback+0xbaa/0x10e0 C\u00f3digo: 25 ff 0f 00 00 0f 84 18 01 00 00 e8 40 ca c6 ff e9 17 f6 ff ff e8 36 ca c6 ff 4c 89 f7 48 c7 c6 80 c0 12 84 e8 e7 b3 0f 00 90 \u0026lt;0f\u0026gt; 0b e8 1f ca c6 ff 4c 89 f7 48 c7 c6 a0 c6 12 84 e8 d0 b3 0f 00 ... Seguimiento de llamadas:  nilfs_segctor_do_construct+0x4654/0x69d0 [nilfs2] nilfs_segctor_construct+0x181/0x6b0 [nilfs2] nilfs_segctor_thread+0x548/0x11c0 [nilfs2] kthread+0x2f0/0x390 ret_from_fork+0x4b/0x 80 ret_from_fork_asm+0x1a/0x30  Esto se debe a que cuando el escritor de registros inicia una reescritura para bloques de resumen de segmentos o un bloque s\u00faper ra\u00edz que utiliza la cach\u00e9 de p\u00e1gina del dispositivo de respaldo, no espera la reescritura en curso de folios/p\u00e1ginas, lo que genera un estado de reescritura inconsistente. Solucione este problema esperando las reescrituras en curso al poner las publicaciones/p\u00e1ginas en el dispositivo de respaldo en estado de reescritura.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/0ecfe3a92869a59668d27228dabbd7965e83567f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/1f3bff69f1214fe03a02bc650d5bbfaa6e65ae7d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/271dcd977ccda8c7a26e360425ae7b4db7d2ecc0\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/33900d7eae616647e179eee1c66ebe654ee39627\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/614d397be0cf43412b3f94a0f6460eddced8ce92\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/95f6f81e50d858a7c9aa7c795ec14a0ac3819118\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/a4ca369ca221bb7e06c725792ac107f0e48e82e7\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/a75b8f493dfc48aa38c518430bd9e03b53bffebe\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}"
  }
}


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.