🕵️ SicherheitslückenCVE-2026-65017 | Apache Airflow Config API information disclosure(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-67587 | Apache Airflow deserialization(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-54183 | Apache Airflow information disclosure (EUVD-2026-57310)(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-59242 | Apache Airflow XCom deserialize endpoint deserialization(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-67260 | Apache Airflow Scheduler next_kwargs deserialization(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-65017 | Apache Airflow Config API information disclosure(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-67587 | Apache Airflow deserialization(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-54183 | Apache Airflow information disclosure (EUVD-2026-57310)(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-59242 | Apache Airflow XCom deserialize endpoint deserialization(17.09.2026 um 05:49 Uhr)
🕵️ SicherheitslückenCVE-2026-67260 | Apache Airflow Scheduler next_kwargs deserialization(17.09.2026 um 05:49 Uhr)
⚠️ Malware / Trojaner / Viren 🕛 vor 4 Monaten 3 Min Lesezeit SECURITY-FEED
0

Boundary Mathematics: Weaponizing PAGE_SHIFT Arithmetic via FUSE — Part 3 | Netacoding

↗ Quelle (reddit.com)
🗣️ Stimme:

# Part 3 — Boundary Mathematics: When PAGE_SHIFT Eats Itself

The previous section was about lying to allocators. This section is about lying to arithmetic.

The Linux memory management subsystem is built on a foundation that assumes file sizes are sane. Not bounded by hardware, not bounded by physics — bounded by code. Specifically bounded by `MAX_LFS_FILESIZE`, a single macro that every VFS path is supposed to enforce before any byte offset gets shifted into a page index. When a malicious FUSE daemon returns `attr.size = 0xFFFFFFFFFFFFFFFF` in response to a `vfs_getattr` call, it is not just lying about a file’s size. It is feeding poison into bitwise expressions that the kernel will evaluate hundreds of times per second across `mm/filemap.c`, `mm/mmap.c`, `mm/readahead.c`, and the entire folio infrastructure.

The math breaks. And when math breaks in the page cache, the XArray walks off a cliff.

# 3.1 The Constants That Are Supposed To Save You

Let’s nail down the invariants the kernel relies on. From `include/linux/fs.h` on a modern 64-bit build:

/* include/linux/fs.h */
#if BITS_PER_LONG == 32
#define MAX_LFS_FILESIZE (((loff_t)PAGE_SIZE << (BITS_PER_LONG-1)) - 1)
#elif BITS_PER_LONG == 64
#define MAX_LFS_FILESIZE ((loff_t)LLONG_MAX)
#endif

On x86\_64 / arm64 / riscv64, `MAX_LFS_FILESIZE` evaluates to `0x7FFFFFFFFFFFFFFF`. That high bit being clear is not cosmetic — it exists specifically to prevent the maximum file size from being interpreted as a negative `loff_t` (which is signed) anywhere in the kernel.

Then we have the page-shift constants:

/* include/asm-generic/page.h and arch-specific overrides */
#define PAGE_SHIFT 12 /* 4 KiB pages, standard */
#define PAGE_SIZE (1UL << PAGE_SHIFT) /* 0x1000 */
#define PAGE_MASK (~(PAGE_SIZE - 1)) /* 0xFFFFFFFFFFFFF000 */

And the type that everything iterates over:

/* include/linux/types.h */
typedef unsigned long pgoff_t; /* 64-bit on LP64 */

`pgoff_t` is **unsigned**. There is no underflow detection. There is no overflow detection. There are only bits, and the bits do exactly what bits do when you tell them to.

FUSE’s super-block initialization correctly clamps:

/* fs/fuse/inode.c — fuse_fill_super_common() */
sb->s_maxbytes = MAX_LFS_FILESIZE;

That’s the gate. That’s the only gate. And it gates the **superblock**, not individual inode metadata refreshes. Once a FUSE daemon has the connection established, every subsequent `FUSE_GETATTR` reply can mutate `inode->i_size` to any 64-bit value it wants. The `s_maxbytes` check is **not re-applied** per-getattr in the hot paths — it is checked at write extension time (`generic_write_check_limits()`), not at read time, and not when `mm/` subsystems synthesize page indices from a freshly-poisoned `i_size`.

The gate is open. The math begins.

more on the blog

submitted by [comments]
Vollständiges Original-Advisory
Ausführliche Details, Exploit-Analyse & Hersteller-Stellungnahme auf reddit.com.
↗ Original-Artikel auf reddit.com lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:
Community Threat-Level Barometer
Live Votum

Wie stufst du das Risiko dieser Schwachstelle / Bedrohung für dein Unternehmen ein?

Noch keine Stimmen — schätze das Risiko als Erster ein.

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
8 Quellen
CVE-2026-65017 | Apache Airflow Config API information disclosure
2 Quellen
CVE-2026-18708 | MongoDB up to 7.0.39/8.0.28/8.3.7 JavaScript Scripting Engine code injection
2 Quellen
CVE-2026-18706 | MongoDB Server up to 8.3.7 GraphLookup Aggregation Stage use after free
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Boundary Mathematics: Weaponizing PAGE_SHIFT Arithmetic via FUSE — Part 3 | Netacoding

Thematisch verwandte Begriffe: Boundary, Mathematics, Weaponizing, PAGESHIFT · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...