{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2025-68369",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2025-68369"
  ],
  "published": "2025-12-24T10:35:22Z",
  "summary": "ntfs3: init run lock for extend inode",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nntfs3: init run lock for extend inode\n\nAfter setting the inode mode of $Extend to a regular file, executing the\ntruncate system call will enter the do_truncate() routine, causing the\nrun_lock uninitialized error reported by syzbot.\n\nPrior to patch 4e8011ffec79, if the inode mode of $Extend was not set to\na regular file, the do_truncate() routine would not be entered.\n\nAdd the run_lock initialization when loading $Extend.\n\nsyzbot reported:\nINFO: trying to register non-static key.\nCall Trace:\n dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120\n assign_lock_key+0x133/0x150 kernel/locking/lockdep.c:984\n register_lock_class+0x105/0x320 kernel/locking/lockdep.c:1299\n __lock_acquire+0x99/0xd20 kernel/locking/lockdep.c:5112\n lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868\n down_write+0x96/0x1f0 kernel/locking/rwsem.c:1590\n ntfs_set_size+0x140/0x200 fs/ntfs3/inode.c:860\n ntfs_extend+0x1d9/0x970 fs/ntfs3/file.c:387\n ntfs_setattr+0x2e8/0xbe0 fs/ntfs3/file.c:808",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.12.62-1+rpt1~bookworm"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-2712",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v6",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v7",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v7l",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.12.62-1+rpt1~bookworm": {
            "linux_commit": "a1073743767f9e7fdc7017ababd2a07ea0c97c1c",
            "upstream_version": "6.12.62",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.12.63"
          }
        }
      }
    },
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:13",
        "name": "linux"
      },
      "versions": [
        "1:6.12.62-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-2712",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v6",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v7",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.62-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.12.62-1+rpt1": {
            "linux_commit": "a1073743767f9e7fdc7017ababd2a07ea0c97c1c",
            "upstream_version": "6.12.62",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.12.63"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2025-68369"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/79c8a77b1782e2ace96d063be3c41ba540d1e20a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/433d1f7c628c3cbdd7efce064d6c7acd072cf6c4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/907bf69c6b6ce5d038eec7a599d67b45b62624bc"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6e17555728bc469d484c59db4a0abc65c19bc315"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/19164d8228317f3f1fe2662a9ba587cfe3b2d29e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/ab5e8ebeee1caa4fcf8be7d8d62c0a7165469076"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/be99c62ac7e7af514e4b13f83c891a3cccefaa48"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T12:19:11Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.5,
      "cvss_v3_severity": "High",
      "scenario": "AV:N - ntfs3 supports NFS export, allowing an RW-exported volume to be reached through NFS LOOKUP and SETATTR. The RPC path reaches nfsd_setattr(), notify_change(), ntfs_setattr(), and ntfs_set_size() without opening the metadata file.\nAC:L - Standard NTFS volumes contain affected $Extend children, and a size-increasing SETATTR directly reaches the bad lock. On PREEMPT_RT the zeroed rwsem deterministically blocks; no race or malformed filesystem is required.\nPR:N - A writable anonymous NFS export can map RPC_AUTH_NULL to the NTFS mount UID, after which nfsd's owner override permits ATTR_SIZE despite mode 000. The remote caller needs no target account or capability.\nUI:N - Once the NTFS volume is mounted and exported, the attacker triggers the flaw directly with network requests; no victim action is required.\nS:U - The flaw compromises availability within the kernel and its NFS service without crossing a VM, IOMMU, or separate security-authority boundary.\nC:N - ntfs_alloc_inode() zeroes the relevant union, so no uninitialized contents are disclosed. The missing initialization creates an invalid synchronization object but no memory-read primitive.\nI:N - There is no use-after-free, out-of-bounds access, type confusion, or attacker-controlled write. The RT path blocks before attr_set_size(), while affected metadata records lack the unnamed data attribute needed for a successful size change.\nA:H - On PREEMPT_RT, a valid rwsem requires READER_BIAS, but the zeroed lock causes down_write() to wait indefinitely after subtracting that bias. Repeated SETATTR requests can occupy the remaining nfsd threads behind the held inode lock, causing complete NFS-service loss."
    }
  }
}
