CVE-2026-89761Disclosure

LOWCVSS 7.8 · HIGH

Signal is active with 1 mentions in latest observed window

Immediate actions

  • Patch affected systems immediately

Recommended action window: Monitor and triage in normal cycle

NVD description

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix out-of-bounds write when null terminating a label vec aa_vec_unique() null terminates at vec[n - dups] when VEC_FLAG_TERMINATE is passed. If the components are all distinct no duplicates are dropped, dups is 0 and the terminator goes to vec[n], so the caller has to provide room for n + 1 entries. aa_label_strn_parse() sets up its vector with vec_setup(profile, vec, len, gfp) and then calls aa_vec_unique(vec, len, VEC_FLAG_TERMINATE), but vec_setup() does not reserve the terminator entry. Up to LOCAL_VEC_ENTRIES it uses the local array of LOCAL_VEC_ENTRIES pointers, above that it allocates exactly len pointers. The terminator therefore lands one entry past the end of the local array when len is LOCAL_VEC_ENTRIES, and one entry past the end of the allocation when len is larger. len comes from the number of "//&" separated components in the label name and label_count_strn_entries() does not bound it. An unprivileged task reaches the parse by writing to /proc/self/attr/apparmor/current or through lsm_set_self_attr(2), both of which go through do_setattr(), and the name is parsed before the change_profile permission is checked. The query_label() path behind the securityfs .access file, which is mode 0666, performs no permission check at all. Every component has to resolve to a loaded profile, so a system with policy loaded is required. The other two VEC_FLAG_TERMINATE users work on a label vec that aa_label_alloc() has already sized with "+ 1 for null terminator entry on vec". Reserve the same entry in vec_setup() and DEFINE_VEC(). Passing len + 1 from the caller instead would move len == LOCAL_VEC_ENTRIES out of the local array and into kzalloc().

0.5/ 10 priority

Sources & remediation

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

AVAILABLE

Momentum

STABLE

Threat summary

  • Patch or workaround signal is available
  • 2 mentions across 2 observed days
  • Momentum state: stable

What's happening

  • Patch or workaround mentioned in 1 signal
  • Technical details provided in 2 signals
  • Disclosure: 1 classified signal
  • Peaked 1d ago at 1 mentions (2026-09-13); latest day: 1
  • 2 total mentions across 2 days

Deep dive

Activity timeline2 mentions / 2d
00111Mentions · 2026-09-13: 1Mentions · 2026-09-22: 1Patch / Workaround · 2026-09-22: 1Technical Details · 2026-09-13: 1Technical Details · 2026-09-22: 109-1309-22
Signal classification2 categories
Disclosure
150.0%
Patch
150.0%
Referenced assets1 URL
By indicator
Classification over time
DateTotalLabels
2026-09-131
Disclosure1
2026-09-221
Patch1
Full discourse2 posts
  • DFIR Lab@DFIR_Lab
    Patch

    🚨 HIGH: CVE-2026-89761 - Linux kernel AppArmor out-of-bounds write (CVSS 7.8). Affects label parsing, exploitable by unprivileged users. Patch immediately. #CVE #Vulnerability #PatchNow #ThreatIntel https://t.co/8Lmip8sKr7

    Post summary

    The tweet discloses CVE-2026-89761, a Linux kernel AppArmor out-of-bounds write vulnerability (CVSS 7.8), and urges immediate patching, making the primary focus the availability and application of a patch.

    0000037
    140 followersView on X
  • CVE@CVEnew
    Disclosure

    CVE-2026-89761 In the Linux kernel, the following vulnerability has been resolved: apparmor: fix out-of-bounds write when null terminating a label vec aa_vec_unique() null termina… https://www.cve.org/CVERecord?id=CVE-2026-89761

    Post summary

    The text announces CVE-2026-89761 as a Linux kernel AppArmor out-of-bounds write vulnerability in aa_vec_unique() that has been resolved, linking to the CVE record. It provides technical vulnerability details but lacks named patches, PoC code, exploit tools, or active exploitation claims, making it primarily a vulnerability disclosure.

    000001.2K
    58.1K followersView on X

Explore more