In the Linux kernel, the following vulnerability has been resolved:
ubifs: Set page uptodate in the correct place
Page cache reads are lockless, so setting the freshly allocated page uptodate before we've overwritten it with the data it's supposed to have in it will allow a simultaneous reader to see old data. Move the call to SetPageUptodate into ubifswriteend(), which is after we copied the new data into the page.
{ "vanir_signatures": [ { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17772bbe9cfa972ea1ff827319f6e1340de76566", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-0080350e" }, { "digest": { "length": 1247.0, "function_hash": "53424948313567017001608372687517866414" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@142d87c958d9454c3cffa625fab56f3016e8f9f3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-03a7719d" }, { "digest": { "length": 1286.0, "function_hash": "98964797729084611777497576496107023249" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f599ab6fabbca4c741107eade70722a98adfd9f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-0a887f0a" }, { "digest": { "length": 1286.0, "function_hash": "98964797729084611777497576496107023249" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4aa554832b9dc9e66249df75b8f447d87853e12e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-23d308bd" }, { "digest": { "length": 1169.0, "function_hash": "167713712227813548176499842542039380009" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4aa554832b9dc9e66249df75b8f447d87853e12e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-2987b792" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc99f4e2d2f1ce766c14e98463c2839194ae964f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-2c5ee167" }, { "digest": { "length": 1247.0, "function_hash": "53424948313567017001608372687517866414" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc99f4e2d2f1ce766c14e98463c2839194ae964f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-2d66a386" }, { "digest": { "length": 1247.0, "function_hash": "53424948313567017001608372687517866414" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7c4fc60d6a46350fbe54f5dc937aeaa02e675e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-3c2ddf7f" }, { "digest": { "length": 1071.0, "function_hash": "305457330314314120871759552657185976963" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@778c6ad40256f1c03244fc06d7cdf71f6b5e7310", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-3d3118d8" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f19b1023a3758f40791ec166038d6411c8894ae3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-49c21c3c" }, { "digest": { "length": 1286.0, "function_hash": "98964797729084611777497576496107023249" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f19b1023a3758f40791ec166038d6411c8894ae3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-4b1dc590" }, { "digest": { "length": 1169.0, "function_hash": "167713712227813548176499842542039380009" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f599ab6fabbca4c741107eade70722a98adfd9f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-52c8da75" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f19b1023a3758f40791ec166038d6411c8894ae3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-543ce1d7" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723012cab779eee8228376754e22c6594229bf8f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-54628436" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "31150961859404024440015893794717279322", "234006211382673464354593900034829039148" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@778c6ad40256f1c03244fc06d7cdf71f6b5e7310", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-5b3f030d" }, { "digest": { "length": 1169.0, "function_hash": "167713712227813548176499842542039380009" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f19b1023a3758f40791ec166038d6411c8894ae3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-5e56413a" }, { "digest": { "length": 1138.0, "function_hash": "293304446863065495338819176981447856199" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc99f4e2d2f1ce766c14e98463c2839194ae964f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-5e8c38a2" }, { "digest": { "length": 1138.0, "function_hash": "293304446863065495338819176981447856199" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7c4fc60d6a46350fbe54f5dc937aeaa02e675e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-69b244f6" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f599ab6fabbca4c741107eade70722a98adfd9f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-7c90aa16" }, { "digest": { "length": 1247.0, "function_hash": "53424948313567017001608372687517866414" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17772bbe9cfa972ea1ff827319f6e1340de76566", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-7d83ec8b" }, { "digest": { "length": 1169.0, "function_hash": "167713712227813548176499842542039380009" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@778c6ad40256f1c03244fc06d7cdf71f6b5e7310", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-8259d27a" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@142d87c958d9454c3cffa625fab56f3016e8f9f3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-89f1a248" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7c4fc60d6a46350fbe54f5dc937aeaa02e675e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-8ed94f08" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723012cab779eee8228376754e22c6594229bf8f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-9db8eaef" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17772bbe9cfa972ea1ff827319f6e1340de76566", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-a3093227" }, { "digest": { "length": 1138.0, "function_hash": "293304446863065495338819176981447856199" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723012cab779eee8228376754e22c6594229bf8f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-ac5de58d" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc99f4e2d2f1ce766c14e98463c2839194ae964f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-b722265d" }, { "digest": { "length": 1138.0, "function_hash": "293304446863065495338819176981447856199" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17772bbe9cfa972ea1ff827319f6e1340de76566", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-bd0774a4" }, { "digest": { "length": 1071.0, "function_hash": "305457330314314120871759552657185976963" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4aa554832b9dc9e66249df75b8f447d87853e12e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-c1e16337" }, { "digest": { "length": 1247.0, "function_hash": "53424948313567017001608372687517866414" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723012cab779eee8228376754e22c6594229bf8f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-c912c085" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@142d87c958d9454c3cffa625fab56f3016e8f9f3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-c924a40a" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "265243539487823144537725441595093009915", "91992042615077175817068489438402639685" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7c4fc60d6a46350fbe54f5dc937aeaa02e675e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-c963c15e" }, { "digest": { "length": 1286.0, "function_hash": "98964797729084611777497576496107023249" }, "target": { "function": "ubifs_write_begin", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@778c6ad40256f1c03244fc06d7cdf71f6b5e7310", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-ca5fc8cb" }, { "digest": { "length": 1087.0, "function_hash": "225664154594331496546149822929436560323" }, "target": { "function": "ubifs_write_end", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f599ab6fabbca4c741107eade70722a98adfd9f", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-ce796b05" }, { "digest": { "line_hashes": [ "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "88644166461264996461496568239992608430", "333728342300050796609987615544155474549", "65012299275814573909935383536402034435", "283096494508192613864529009080697746934", "176905475893009137563527498792219158288", "4912084771541473161062936509490573641", "272999349347534508318825786571755051794", "4631762006561201941461125165468541264", "28801854712859109782388119975230862228", "308261099994573747733984623234388347041", "291495341907156405795087738092158261383", "81269222009605937705361402085505938009", "330209672998701494202293207148635999754", "287136741025814493103367287725111337760", "25048247049078682844034720917720661799", "31150961859404024440015893794717279322", "234006211382673464354593900034829039148" ], "threshold": 0.9 }, "target": { "file": "fs/ubifs/file.c" }, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4aa554832b9dc9e66249df75b8f447d87853e12e", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-da010f55" }, { "digest": { "length": 1138.0, "function_hash": "293304446863065495338819176981447856199" }, "target": { "function": "write_begin_slow", "file": "fs/ubifs/file.c" }, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@142d87c958d9454c3cffa625fab56f3016e8f9f3", "deprecated": false, "signature_version": "v1", "id": "CVE-2024-35821-fd9eca86" } ] }