CVE-2024-47669 (GCVE-0-2024-47669)

Vulnerability from cvelistv5 – Published: 2024-10-09 14:14 – Updated: 2026-08-05 11:39
VLAI
Title
nilfs2: fix state management in error path of log writing function
Summary
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix state management in error path of log writing function After commit a694291a6211 ("nilfs2: separate wait function from nilfs_segctor_write") was applied, the log writing function nilfs_segctor_do_construct() was able to issue I/O requests continuously even if user data blocks were split into multiple logs across segments, but two potential flaws were introduced in its error handling. First, if nilfs_segctor_begin_construction() fails while creating the second or subsequent logs, the log writing function returns without calling nilfs_segctor_abort_construction(), so the writeback flag set on pages/folios will remain uncleared. This causes page cache operations to hang waiting for the writeback flag. For example, truncate_inode_pages_final(), which is called via nilfs_evict_inode() when an inode is evicted from memory, will hang. Second, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. As a result, if the next log write involves checkpoint creation, that's fine, but if a partial log write is performed that does not, inodes with NILFS_I_COLLECTED set are erroneously removed from the "sc_dirty_files" list, and their data and b-tree blocks may not be written to the device, corrupting the block mapping. Fix these issues by uniformly calling nilfs_segctor_abort_construction() on failure of each step in the loop in nilfs_segctor_do_construct(), having it clean up logs and segment usages according to progress, and correcting the conditions for calling nilfs_redirty_inodes() to ensure that the NILFS_I_COLLECTED flag is cleared.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 40a2757de2c376ef8a08d9ee9c81e77f3c750adf (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 036441e8438b29111fa75008f0ce305fb4e83c0a (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < efdde00d4a1ef10bb71e09ebc67823a3d3ad725b (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 3e349d7191f0688fc9808ef24fd4e4b4ef5ca876 (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 30562eff4a6dd35c4b5be9699ef61ad9f5f20a06 (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 0a1a961bde4351dc047ffdeb2f1311ca16a700cc (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 74866c16ea2183f52925fa5d76061a1fe7f7737b (git)
Affected: a694291a6211537189c6080f77f63cdabfc9b63e , < 6576dd6695f2afca3f4954029ac4a64f82ba60ab (git)
Create a notification for this product.
Linux Linux Affected: 2.6.33
Unaffected: 0 , < 2.6.33 (semver)
Unaffected: 4.19.322 , ≤ 4.19.* (semver)
Unaffected: 5.4.284 , ≤ 5.4.* (semver)
Unaffected: 5.10.226 , ≤ 5.10.* (semver)
Unaffected: 5.15.167 , ≤ 5.15.* (semver)
Unaffected: 6.1.110 , ≤ 6.1.* (semver)
Unaffected: 6.6.51 , ≤ 6.6.* (semver)
Unaffected: 6.10.10 , ≤ 6.10.* (semver)
Unaffected: 6.11 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-47669",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-10-10T13:20:56.031948Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-10-10T13:21:10.087Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:20:34.709Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "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": "40a2757de2c376ef8a08d9ee9c81e77f3c750adf",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "036441e8438b29111fa75008f0ce305fb4e83c0a",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "efdde00d4a1ef10bb71e09ebc67823a3d3ad725b",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "3e349d7191f0688fc9808ef24fd4e4b4ef5ca876",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "30562eff4a6dd35c4b5be9699ef61ad9f5f20a06",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "0a1a961bde4351dc047ffdeb2f1311ca16a700cc",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "74866c16ea2183f52925fa5d76061a1fe7f7737b",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "versionType": "git"
            },
            {
              "lessThan": "6576dd6695f2afca3f4954029ac4a64f82ba60ab",
              "status": "affected",
              "version": "a694291a6211537189c6080f77f63cdabfc9b63e",
              "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.33"
            },
            {
              "lessThan": "2.6.33",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.322",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.284",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.226",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.167",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.11",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.322",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.284",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.226",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.167",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.110",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.51",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10.10",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11",
                  "versionStartIncluding": "2.6.33",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnilfs2: fix state management in error path of log writing function\n\nAfter commit a694291a6211 (\"nilfs2: separate wait function from\nnilfs_segctor_write\") was applied, the log writing function\nnilfs_segctor_do_construct() was able to issue I/O requests continuously\neven if user data blocks were split into multiple logs across segments,\nbut two potential flaws were introduced in its error handling.\n\nFirst, if nilfs_segctor_begin_construction() fails while creating the\nsecond or subsequent logs, the log writing function returns without\ncalling nilfs_segctor_abort_construction(), so the writeback flag set on\npages/folios will remain uncleared.  This causes page cache operations to\nhang waiting for the writeback flag.  For example,\ntruncate_inode_pages_final(), which is called via nilfs_evict_inode() when\nan inode is evicted from memory, will hang.\n\nSecond, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. \nAs a result, if the next log write involves checkpoint creation, that\u0027s\nfine, but if a partial log write is performed that does not, inodes with\nNILFS_I_COLLECTED set are erroneously removed from the \"sc_dirty_files\"\nlist, and their data and b-tree blocks may not be written to the device,\ncorrupting the block mapping.\n\nFix these issues by uniformly calling nilfs_segctor_abort_construction()\non failure of each step in the loop in nilfs_segctor_do_construct(),\nhaving it clean up logs and segment usages according to progress, and\ncorrecting the conditions for calling nilfs_redirty_inodes() to ensure\nthat the NILFS_I_COLLECTED flag is cleared."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The defect is in the nilfs2 segment constructor, reached through ordinary local filesystem operations \u2014 write(2) on a mounted nilfs2 plus fdatasync(2)/sync(2), or the background writeback/segctor thread. No network protocol handler processes remote data on this path.\nAC:L - There is no race and no memory-layout dependency; the attacker deterministically creates both required conditions by writing a file larger than one segment (forcing a second log iteration in SC_LSEG_DSYNC mode) while having exhausted the filesystem\u0027s clean segments, so nilfs_sufile_alloc() returns -ENOSPC inside the second nilfs_segctor_begin_construction(). Memory pressure (-ENOMEM from nilfs_segbuf_new) is an equally attacker-controllable alternative trigger.\nPR:L - Any unprivileged local user with write access to an already-mounted nilfs2 filesystem can reach nilfs_segctor_do_construct() via plain writes and fdatasync \u2014 no capability, ioctl, or mount privilege is checked on this path (CAP_SYS_ADMIN is only needed for the unrelated GC ioctl).\nUI:N - On a system already using nilfs2 (flash/removable media, udisks-automounted volumes) the attacker drives the entire sequence with their own file I/O and the kernel\u0027s own writeback thread. No action by a separate victim user is required.\nS:U - The stuck writeback state, the hung tasks, and the filesystem corruption are all confined to the kernel and filesystem of the same system; no VM, IOMMU, or sandbox security boundary is crossed.\nC:L - Dropping inodes from sc_dirty_files without writing their data and b-tree blocks corrupts the block mapping, so an inode\u0027s bmap can retain virtual block numbers whose DAT entries are stale or recycled by the segment cleaner, causing later reads to return blocks belonging to other users\u0027 files. The exposure is stale on-disk filesystem data the attacker cannot select, not an arbitrary kernel memory read.\nI:H - sc_dirty_files holds every dirty inode on the filesystem, not just the attacker\u0027s, so the uncleared NILFS_I_COLLECTED flag causes arbitrary inodes\u0027 data and b-tree blocks to be silently discarded while they are marked as written, corrupting the on-disk block mapping. This is persistent, unrecoverable filesystem metadata corruption with direct serious consequence \u2014 silent data loss across users and an inconsistent filesystem that can trigger nilfs_error() (forced read-only, or panic under errors=panic).\nA:H - The writeback flag left set on file-data and b-tree folios is never cleared, so folio_wait_writeback() callers \u2014 truncate_inode_pages_final() during inode eviction, sync/syncfs, umount, rewrite of the same page, and page reclaim/migration \u2014 block in uninterruptible sleep permanently, producing unkillable D-state tasks, hung-task warnings, unreclaimable pinned memory, and a system shutdown that never completes."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:39:18.642Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/40a2757de2c376ef8a08d9ee9c81e77f3c750adf"
        },
        {
          "url": "https://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a"
        },
        {
          "url": "https://git.kernel.org/stable/c/efdde00d4a1ef10bb71e09ebc67823a3d3ad725b"
        },
        {
          "url": "https://git.kernel.org/stable/c/3e349d7191f0688fc9808ef24fd4e4b4ef5ca876"
        },
        {
          "url": "https://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06"
        },
        {
          "url": "https://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc"
        },
        {
          "url": "https://git.kernel.org/stable/c/74866c16ea2183f52925fa5d76061a1fe7f7737b"
        },
        {
          "url": "https://git.kernel.org/stable/c/6576dd6695f2afca3f4954029ac4a64f82ba60ab"
        }
      ],
      "title": "nilfs2: fix state management in error path of log writing function",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-47669",
    "datePublished": "2024-10-09T14:14:01.139Z",
    "dateReserved": "2024-09-30T16:00:12.936Z",
    "dateUpdated": "2026-08-05T11:39:18.642Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-47669",
      "date": "2026-08-05",
      "epss": "0.00215",
      "percentile": "0.11928"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"2.6.33\", \"versionEndExcluding\": \"4.19.322\", \"matchCriteriaId\": \"5972AD1D-80D1-4691-AF86-1C6C29C180E0\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.20\", \"versionEndExcluding\": \"5.4.284\", \"matchCriteriaId\": \"6265A402-9C3C-438F-BFC5-4194B2568B85\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.5\", \"versionEndExcluding\": \"5.10.226\", \"matchCriteriaId\": \"864FC17C-501A-4823-A643-6F35D65D8A97\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.11\", \"versionEndExcluding\": \"5.15.167\", \"matchCriteriaId\": \"043405A4-25FE-45D4-A7BB-2A0C3B7D17C1\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.16\", \"versionEndExcluding\": \"6.1.110\", \"matchCriteriaId\": \"6B1A95FC-7E7E-428B-BB59-F76640C652AE\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.2\", \"versionEndExcluding\": \"6.6.51\", \"matchCriteriaId\": \"E4529134-BAC4-4776-840B-304009E181A0\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.7\", \"versionEndExcluding\": \"6.10.10\", \"matchCriteriaId\": \"ACDEE48C-137A-4731-90D0-A675865E1BED\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*\", \"matchCriteriaId\": \"8B3CE743-2126-47A3-8B7C-822B502CF119\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*\", \"matchCriteriaId\": \"4DEB27E7-30AA-45CC-8934-B89263EF3551\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*\", \"matchCriteriaId\": \"E0005AEF-856E-47EB-BFE4-90C46899394D\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*\", \"matchCriteriaId\": \"39889A68-6D34-47A6-82FC-CD0BF23D6754\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*\", \"matchCriteriaId\": \"B8383ABF-1457-401F-9B61-EE50F4C61F4F\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*\", \"matchCriteriaId\": \"B77A9280-37E6-49AD-B559-5B23A3B1DC3D\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnilfs2: fix state management in error path of log writing function\\n\\nAfter commit a694291a6211 (\\\"nilfs2: separate wait function from\\nnilfs_segctor_write\\\") was applied, the log writing function\\nnilfs_segctor_do_construct() was able to issue I/O requests continuously\\neven if user data blocks were split into multiple logs across segments,\\nbut two potential flaws were introduced in its error handling.\\n\\nFirst, if nilfs_segctor_begin_construction() fails while creating the\\nsecond or subsequent logs, the log writing function returns without\\ncalling nilfs_segctor_abort_construction(), so the writeback flag set on\\npages/folios will remain uncleared.  This causes page cache operations to\\nhang waiting for the writeback flag.  For example,\\ntruncate_inode_pages_final(), which is called via nilfs_evict_inode() when\\nan inode is evicted from memory, will hang.\\n\\nSecond, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. \\nAs a result, if the next log write involves checkpoint creation, that\u0027s\\nfine, but if a partial log write is performed that does not, inodes with\\nNILFS_I_COLLECTED set are erroneously removed from the \\\"sc_dirty_files\\\"\\nlist, and their data and b-tree blocks may not be written to the device,\\ncorrupting the block mapping.\\n\\nFix these issues by uniformly calling nilfs_segctor_abort_construction()\\non failure of each step in the loop in nilfs_segctor_do_construct(),\\nhaving it clean up logs and segment usages according to progress, and\\ncorrecting the conditions for calling nilfs_redirty_inodes() to ensure\\nthat the NILFS_I_COLLECTED flag is cleared.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: fix state management in error path of log writing function Despu\\u00e9s de aplicar el commit a694291a6211 (\\\"nilfs2: separate wait function from nilfs_segctor_write\\\"), la funci\\u00f3n de escritura de registros nilfs_segctor_do_construct() pudo emitir solicitudes de E/S de forma continua incluso si los bloques de datos del usuario se divid\\u00edan en varios registros en todos los segmentos, pero se introdujeron dos posibles fallos en su gesti\\u00f3n de errores. En primer lugar, si nilfs_segctor_begin_construction() falla al crear el segundo registro o los siguientes, la funci\\u00f3n de escritura de registros vuelve sin llamar a nilfs_segctor_abort_construction(), por lo que el indicador de escritura diferida establecido en p\\u00e1ginas/folios permanecer\\u00e1 sin borrar. Esto hace que las operaciones de cach\\u00e9 de p\\u00e1gina se cuelguen esperando el indicador de escritura diferida. Por ejemplo, truncate_inode_pages_final(), que se llama a trav\\u00e9s de nilfs_evict_inode() cuando se expulsa un inodo de la memoria, se bloquear\\u00e1. En segundo lugar, el indicador NILFS_I_COLLECTED establecido en inodos normales permanece sin borrar. Como resultado, si la siguiente escritura de registro implica la creaci\\u00f3n de un punto de control, eso est\\u00e1 bien, pero si se realiza una escritura de registro parcial que no lo hace, los inodos con NILFS_I_COLLECTED establecido se eliminan por error de la lista \\\"sc_dirty_files\\\", y sus bloques de datos y de \\u00e1rbol b pueden no escribirse en el dispositivo, lo que corrompe la asignaci\\u00f3n de bloques. Solucione estos problemas llamando uniformemente a nilfs_segctor_abort_construction() en caso de falla de cada paso en el bucle en nilfs_segctor_do_construct(), haciendo que limpie los registros y los usos de segmentos seg\\u00fan el progreso y corrigiendo las condiciones para llamar a nilfs_redirty_inodes() para garantizar que se borre el indicador NILFS_I_COLLECTED.\"}]",
      "id": "CVE-2024-47669",
      "lastModified": "2024-10-21T13:28:34.330",
      "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}]}",
      "published": "2024-10-09T15:15:15.590",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/3e349d7191f0688fc9808ef24fd4e4b4ef5ca876\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/40a2757de2c376ef8a08d9ee9c81e77f3c750adf\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/6576dd6695f2afca3f4954029ac4a64f82ba60ab\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/74866c16ea2183f52925fa5d76061a1fe7f7737b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/efdde00d4a1ef10bb71e09ebc67823a3d3ad725b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Mailing List\", \"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"NVD-CWE-noinfo\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-47669\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-10-09T15:15:15.590\",\"lastModified\":\"2026-08-04T11:20:37.530\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnilfs2: fix state management in error path of log writing function\\n\\nAfter commit a694291a6211 (\\\"nilfs2: separate wait function from\\nnilfs_segctor_write\\\") was applied, the log writing function\\nnilfs_segctor_do_construct() was able to issue I/O requests continuously\\neven if user data blocks were split into multiple logs across segments,\\nbut two potential flaws were introduced in its error handling.\\n\\nFirst, if nilfs_segctor_begin_construction() fails while creating the\\nsecond or subsequent logs, the log writing function returns without\\ncalling nilfs_segctor_abort_construction(), so the writeback flag set on\\npages/folios will remain uncleared.  This causes page cache operations to\\nhang waiting for the writeback flag.  For example,\\ntruncate_inode_pages_final(), which is called via nilfs_evict_inode() when\\nan inode is evicted from memory, will hang.\\n\\nSecond, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. \\nAs a result, if the next log write involves checkpoint creation, that\u0027s\\nfine, but if a partial log write is performed that does not, inodes with\\nNILFS_I_COLLECTED set are erroneously removed from the \\\"sc_dirty_files\\\"\\nlist, and their data and b-tree blocks may not be written to the device,\\ncorrupting the block mapping.\\n\\nFix these issues by uniformly calling nilfs_segctor_abort_construction()\\non failure of each step in the loop in nilfs_segctor_do_construct(),\\nhaving it clean up logs and segment usages according to progress, and\\ncorrecting the conditions for calling nilfs_redirty_inodes() to ensure\\nthat the NILFS_I_COLLECTED flag is cleared.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nilfs2: fix state management in error path of log writing function Despu\u00e9s de aplicar el commit a694291a6211 (\\\"nilfs2: separate wait function from nilfs_segctor_write\\\"), la funci\u00f3n de escritura de registros nilfs_segctor_do_construct() pudo emitir solicitudes de E/S de forma continua incluso si los bloques de datos del usuario se divid\u00edan en varios registros en todos los segmentos, pero se introdujeron dos posibles fallos en su gesti\u00f3n de errores. En primer lugar, si nilfs_segctor_begin_construction() falla al crear el segundo registro o los siguientes, la funci\u00f3n de escritura de registros vuelve sin llamar a nilfs_segctor_abort_construction(), por lo que el indicador de escritura diferida establecido en p\u00e1ginas/folios permanecer\u00e1 sin borrar. Esto hace que las operaciones de cach\u00e9 de p\u00e1gina se cuelguen esperando el indicador de escritura diferida. Por ejemplo, truncate_inode_pages_final(), que se llama a trav\u00e9s de nilfs_evict_inode() cuando se expulsa un inodo de la memoria, se bloquear\u00e1. En segundo lugar, el indicador NILFS_I_COLLECTED establecido en inodos normales permanece sin borrar. Como resultado, si la siguiente escritura de registro implica la creaci\u00f3n de un punto de control, eso est\u00e1 bien, pero si se realiza una escritura de registro parcial que no lo hace, los inodos con NILFS_I_COLLECTED establecido se eliminan por error de la lista \\\"sc_dirty_files\\\", y sus bloques de datos y de \u00e1rbol b pueden no escribirse en el dispositivo, lo que corrompe la asignaci\u00f3n de bloques. Solucione estos problemas llamando uniformemente a nilfs_segctor_abort_construction() en caso de falla de cada paso en el bucle en nilfs_segctor_do_construct(), haciendo que limpie los registros y los usos de segmentos seg\u00fan el progreso y corrigiendo las condiciones para llamar a nilfs_redirty_inodes() para garantizar que se borre el indicador NILFS_I_COLLECTED.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/nilfs2/segment.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"40a2757de2c376ef8a08d9ee9c81e77f3c750adf\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"036441e8438b29111fa75008f0ce305fb4e83c0a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"efdde00d4a1ef10bb71e09ebc67823a3d3ad725b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"3e349d7191f0688fc9808ef24fd4e4b4ef5ca876\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"30562eff4a6dd35c4b5be9699ef61ad9f5f20a06\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"0a1a961bde4351dc047ffdeb2f1311ca16a700cc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"74866c16ea2183f52925fa5d76061a1fe7f7737b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a694291a6211537189c6080f77f63cdabfc9b63e\",\"lessThan\":\"6576dd6695f2afca3f4954029ac4a64f82ba60ab\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/nilfs2/segment.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2.6.33\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"2.6.33\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.322\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.284\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.226\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.167\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.110\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.51\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.10.10\",\"lessThanOrEqual\":\"6.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.11\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H\",\"baseScore\":7.3,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.5},{\"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}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-10-10T13:20:56.031948Z\",\"id\":\"CVE-2024-47669\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"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\":\"2.6.33\",\"versionEndExcluding\":\"4.19.322\",\"matchCriteriaId\":\"5972AD1D-80D1-4691-AF86-1C6C29C180E0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.284\",\"matchCriteriaId\":\"6265A402-9C3C-438F-BFC5-4194B2568B85\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.226\",\"matchCriteriaId\":\"864FC17C-501A-4823-A643-6F35D65D8A97\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.167\",\"matchCriteriaId\":\"043405A4-25FE-45D4-A7BB-2A0C3B7D17C1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.110\",\"matchCriteriaId\":\"6B1A95FC-7E7E-428B-BB59-F76640C652AE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.51\",\"matchCriteriaId\":\"E4529134-BAC4-4776-840B-304009E181A0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.10.10\",\"matchCriteriaId\":\"ACDEE48C-137A-4731-90D0-A675865E1BED\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"8B3CE743-2126-47A3-8B7C-822B502CF119\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4DEB27E7-30AA-45CC-8934-B89263EF3551\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"E0005AEF-856E-47EB-BFE4-90C46899394D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"39889A68-6D34-47A6-82FC-CD0BF23D6754\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"B8383ABF-1457-401F-9B61-EE50F4C61F4F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"B77A9280-37E6-49AD-B559-5B23A3B1DC3D\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3e349d7191f0688fc9808ef24fd4e4b4ef5ca876\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/40a2757de2c376ef8a08d9ee9c81e77f3c750adf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6576dd6695f2afca3f4954029ac4a64f82ba60ab\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/74866c16ea2183f52925fa5d76061a1fe7f7737b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/efdde00d4a1ef10bb71e09ebc67823a3d3ad725b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-05T03:46:16+00:00",
      "cve": "CVE-2024-47669",
      "id": "CVE-2024-47669",
      "initial_release_date": "2024-10-09T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: nilfs2: fix state management in error path of log writing function",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-47669.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-23T01:58:50Z",
      "cve": "CVE-2024-47669",
      "id": "CVE-2024-47669",
      "initial_release_date": "2024-10-11T02:48:11Z",
      "product_status:known_affected": "435",
      "product_status:known_not_affected": "75",
      "product_status:recommended": "635",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-47669",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-47669.json",
      "version": "79"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-47669\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-10T13:20:56.031948Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-10T13:20:59.932Z\"}}], \"cna\": {\"title\": \"nilfs2: fix state management in error path of log writing function\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"40a2757de2c376ef8a08d9ee9c81e77f3c750adf\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"036441e8438b29111fa75008f0ce305fb4e83c0a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"efdde00d4a1ef10bb71e09ebc67823a3d3ad725b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"3e349d7191f0688fc9808ef24fd4e4b4ef5ca876\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"30562eff4a6dd35c4b5be9699ef61ad9f5f20a06\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"0a1a961bde4351dc047ffdeb2f1311ca16a700cc\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"74866c16ea2183f52925fa5d76061a1fe7f7737b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a694291a6211537189c6080f77f63cdabfc9b63e\", \"lessThan\": \"6576dd6695f2afca3f4954029ac4a64f82ba60ab\", \"versionType\": \"git\"}], \"programFiles\": [\"fs/nilfs2/segment.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"2.6.33\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"2.6.33\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.322\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.284\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.226\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.167\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.110\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.51\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10.10\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.10.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/nilfs2/segment.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/40a2757de2c376ef8a08d9ee9c81e77f3c750adf\"}, {\"url\": \"https://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a\"}, {\"url\": \"https://git.kernel.org/stable/c/efdde00d4a1ef10bb71e09ebc67823a3d3ad725b\"}, {\"url\": \"https://git.kernel.org/stable/c/3e349d7191f0688fc9808ef24fd4e4b4ef5ca876\"}, {\"url\": \"https://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06\"}, {\"url\": \"https://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc\"}, {\"url\": \"https://git.kernel.org/stable/c/74866c16ea2183f52925fa5d76061a1fe7f7737b\"}, {\"url\": \"https://git.kernel.org/stable/c/6576dd6695f2afca3f4954029ac4a64f82ba60ab\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnilfs2: fix state management in error path of log writing function\\n\\nAfter commit a694291a6211 (\\\"nilfs2: separate wait function from\\nnilfs_segctor_write\\\") was applied, the log writing function\\nnilfs_segctor_do_construct() was able to issue I/O requests continuously\\neven if user data blocks were split into multiple logs across segments,\\nbut two potential flaws were introduced in its error handling.\\n\\nFirst, if nilfs_segctor_begin_construction() fails while creating the\\nsecond or subsequent logs, the log writing function returns without\\ncalling nilfs_segctor_abort_construction(), so the writeback flag set on\\npages/folios will remain uncleared.  This causes page cache operations to\\nhang waiting for the writeback flag.  For example,\\ntruncate_inode_pages_final(), which is called via nilfs_evict_inode() when\\nan inode is evicted from memory, will hang.\\n\\nSecond, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared. \\nAs a result, if the next log write involves checkpoint creation, that\u0027s\\nfine, but if a partial log write is performed that does not, inodes with\\nNILFS_I_COLLECTED set are erroneously removed from the \\\"sc_dirty_files\\\"\\nlist, and their data and b-tree blocks may not be written to the device,\\ncorrupting the block mapping.\\n\\nFix these issues by uniformly calling nilfs_segctor_abort_construction()\\non failure of each step in the loop in nilfs_segctor_do_construct(),\\nhaving it clean up logs and segment usages according to progress, and\\ncorrecting the conditions for calling nilfs_redirty_inodes() to ensure\\nthat the NILFS_I_COLLECTED flag is cleared.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.322\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.284\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.226\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.167\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.110\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.51\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10.10\", \"versionStartIncluding\": \"2.6.33\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.11\", \"versionStartIncluding\": \"2.6.33\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T09:36:50.353Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-47669\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-05-04T09:36:50.353Z\", \"dateReserved\": \"2024-09-30T16:00:12.936Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-10-09T14:14:01.139Z\", \"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…

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…

Loading…