{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2024-35804",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2024-35804",
    "idYear": 2024,
    "status": "PUBLISHED",
    "publishedAt": "2024-05-17T13:23:12.895Z",
    "updatedAt": "2026-08-05T11:30:02.623Z",
    "importedAt": "2026-10-24T01:57:11.582Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "KVM: x86: Mark target gfn of emulated atomic instruction as dirty",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86: Mark target gfn of emulated atomic instruction as dirty\n\nWhen emulating an atomic access on behalf of the guest, mark the target\ngfn dirty if the CMPXCHG by KVM is attempted and doesn't fault.  This\nfixes a bug where KVM effectively corrupts guest memory during live\nmigration by writing to guest memory without informing userspace that the\npage is dirty.\n\nMarking the page dirty got unintentionally dropped when KVM's emulated\nCMPXCHG was converted to do a user access.  Before that, KVM explicitly\nmapped the guest page into kernel memory, and marked the page dirty during\nthe unmap phase.\n\nMark the page dirty even if the CMPXCHG fails, as the old data is written\nback on failure, i.e. the page is still written.  The value written is\nguaranteed to be the same because the operation is atomic, but KVM's ABI\nis that all writes are dirty logged regardless of the value written.  And\nmore importantly, that's what KVM did before the buggy commit.\n\nHuge kudos to the folks on the Cc list (and many others), who did all the\nactual work of triaging and debugging.\n\nbase-commit: 6769ea8da8a93ed4630f1ce64df6aafcaabfce64",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "d97c0667c1e61ded6639117b4b9584a9c12b7e66",
              "status": "affected",
              "versionType": "git",
              "lessThan": "a9bd6bb6f02bf7132c1ab192ba62bbfa52df7d66"
            },
            {
              "version": "1c2361f667f3648855ceae25f1332c18413fdb9f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "726374dde5d608b15b9756bd52b6fc283fda7a06"
            },
            {
              "version": "1c2361f667f3648855ceae25f1332c18413fdb9f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9d1b22e573a3789ed1f32033ee709106993ba551"
            },
            {
              "version": "1c2361f667f3648855ceae25f1332c18413fdb9f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "225d587a073584946c05c9b7651d637bd45c0c71"
            },
            {
              "version": "1c2361f667f3648855ceae25f1332c18413fdb9f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "910c57dfa4d113aae6571c2a8b9ae8c430975902"
            },
            {
              "version": "b0f294103f4cf733e23d3f0c4e5fd58e42998921",
              "status": "affected",
              "versionType": "git"
            },
            {
              "version": "e964665cc7ca13a16992b205fce63554b9efc78b",
              "status": "affected",
              "versionType": "git"
            },
            {
              "version": "5.15.58",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "5.15.154"
            },
            {
              "version": "5.17.13",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "5.18"
            },
            {
              "version": "5.18.2",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "5.19"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "5.19",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "5.19"
            },
            {
              "version": "5.15.154",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.84",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.24",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.7.12",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.7.*"
            },
            {
              "version": "6.8",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}