CVE-2026-11837
Ansible-collection-ansible-posix: ansible.posix authorized_key: local privilege escalation via symlink-following chown
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.3
Ansible-collection-ansible-posix: ansible.posix authorized_key: local privilege escalation via symlink-following chown
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
CVE-2026-11837- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-59, CWE-59
- Updated
- 2026-11-04
EUVDEUVD-2026-35982
7.3
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
EUVD-2026-35982- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-04
GitHub AdvisoriesGHSA-49qh-h4vj-mrgf
7.3
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module....
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
GHSA-49qh-h4vj-mrgf- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-59
- Updated
- 2026-11-02
NVD
7.3
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
CVE-2026-11837- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-59
- Updated
- 2026-11-04
OSVDEBIAN-CVE-2026-11837
7.3
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
DEBIAN-CVE-2026-11837- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-05
OSVRHSA-2026:79112
7.3
Red Hat Security Advisory: rhc-worker-playbook security update
- Record
RHSA-2026:79112- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:80508
7.3
Red Hat Security Advisory: rhc-worker-playbook security update
- Record
RHSA-2026:80508- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:82339
7.3
Red Hat Security Advisory: rhc-worker-playbook security update
- Record
RHSA-2026:82339- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-11837
7.3
A local privilege escalation vulnerability was found in the ansible.posix authorized_key module. The module's keyfile() function uses os.chown() instead of os.lchown() and opens files without O_NOFOLLOW when managing SSH authorized keys. An unprivileged local user can pre-stage symbolic links in their ~/.ssh directory to redirect file ownership changes to arbitrary system paths when an operator runs the authorized_key task as root, leading to local privilege escalation.
- Record
UBUNTU-CVE-2026-11837- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
- red hat enterprise linux 10
- red hat enterprise linux 10.0 extended update support
- red hat enterprise linux 8
- red hat enterprise linux 8.6 advanced mission critical update support
- red hat enterprise linux 8.6 extended update support long-life add-on
- red hat enterprise linux 8.8 telecommunications update service
- red hat enterprise linux 8.8 update services for sap solutions
- red hat enterprise linux 9
- red hat openstack platform 17.1
- red hat openstack platform 18.0
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ansibleDebian:12 |
All versions, plus listed versions 10.0.0+dfsg-110.0.1+dfsg-110.1.0+dfsg-110.5.0+dfsg-110.5.0+dfsg-2 Show 25 moreShow less10.6.0+dfsg-111.1.0+dfsg-111.2.0+dfsg-112.0.0+dfsg-112.0.0~a1+dfsg-112.0.0~a2+dfsg-112.0.0~a4+dfsg-112.0.0~a6+dfsg-112.0.0~b1+dfsg-112.0.0~b2+dfsg-112.0.0~b3+dfsg-112.0.0~b5+dfsg-112.2.0+dfsg-113.1.0+dfsg-113.4.0+dfsg-114.0.0+dfsg-114.0.0~a4+dfsg-114.4.0+dfsg-17.3.0+dfsg-17.7.0+dfsg-17.7.0+dfsg-27.7.0+dfsg-37.7.0+dfsg-3+deb12u19.4.0+dfsg-19.5.1+dfsg-1 |
None known |
ansibleDebian:13 |
All versions, plus listed versions 12.0.0+dfsg-0+deb13u112.0.0+dfsg-112.0.0~a6+dfsg-112.0.0~b1+dfsg-112.0.0~b2+dfsg-1 Show 9 moreShow less12.0.0~b3+dfsg-112.0.0~b5+dfsg-0+deb13u112.0.0~b5+dfsg-112.2.0+dfsg-113.1.0+dfsg-113.4.0+dfsg-114.0.0+dfsg-114.0.0~a4+dfsg-114.4.0+dfsg-1 |
None known |
ansibleDebian:14 |
All versions, plus listed versions 12.0.0+dfsg-112.0.0~a6+dfsg-112.0.0~b1+dfsg-112.0.0~b2+dfsg-112.0.0~b3+dfsg-1 Show 7 moreShow less12.0.0~b5+dfsg-112.2.0+dfsg-113.1.0+dfsg-113.4.0+dfsg-114.0.0+dfsg-114.0.0~a4+dfsg-114.4.0+dfsg-1 |
None known |
rhc-worker-playbookRed Hat:enterprise_linux_eus:10.0 |
before 0:0.2.3-6.el10_0.2 | 0:0.2.3-6.el10_0.2 |
rhc-worker-playbook-debuginfoRed Hat:enterprise_linux_eus:10.0 |
before 0:0.2.3-6.el10_0.2 | 0:0.2.3-6.el10_0.2 |
rhc-worker-playbook-debugsourceRed Hat:enterprise_linux_eus:10.0 |
before 0:0.2.3-6.el10_0.2 | 0:0.2.3-6.el10_0.2 |
rhc-worker-playbookRed Hat:rhel_aus:8.6::appstream |
before 0:0.1.8-2.el8_6.1 | 0:0.1.8-2.el8_6.1 |
rhc-worker-playbookRed Hat:rhel_eus_long_life:8.6::appstream |
before 0:0.1.8-2.el8_6.1 | 0:0.1.8-2.el8_6.1 |
rhc-worker-playbookRed Hat:rhel_e4s:8.8::appstream |
before 0:0.1.8-5.el8_8.1 | 0:0.1.8-5.el8_8.1 |
rhc-worker-playbookRed Hat:rhel_tus:8.8::appstream |
before 0:0.1.8-5.el8_8.1 | 0:0.1.8-5.el8_8.1 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ansibleUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.1+dfsg-11.3.4+dfsg-11.4.0+dfsg-11.4.1+dfsg-11.4.3+dfsg-1 Show 5 moreShow less1.4.4+dfsg-11.5.4+dfsg-11.5.4+dfsg-1ubuntu0.1~esm11.5.4+dfsg-1ubuntu0.1~esm21.5.4+dfsg-1ubuntu0.1~esm3 |
None known |
ansibleUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.9.2+dfsg-21.9.4-12.0.0.2-22.0.0.2-2ubuntu12.0.0.2-2ubuntu1.1 Show 8 moreShow less2.0.0.2-2ubuntu1.22.0.0.2-2ubuntu1.32.0.0.2-2ubuntu1.3+esm12.0.0.2-2ubuntu1.3+esm22.0.0.2-2ubuntu1.3+esm32.0.0.2-2ubuntu1.3+esm42.0.0.2-2ubuntu1.3+esm52.0.0.2-2ubuntu1.3+esm6 |
None known |
ansibleUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 2.3.1.0+dfsg-22.5.0+dfsg-12.5.1+dfsg-12.5.1+dfsg-1ubuntu0.12.5.1+dfsg-1ubuntu0.1+esm1 Show 4 moreShow less2.5.1+dfsg-1ubuntu0.1+esm22.5.1+dfsg-1ubuntu0.1+esm32.5.1+dfsg-1ubuntu0.1+esm42.5.1+dfsg-1ubuntu0.1+esm5 |
None known |
ansibleUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 2.8.3+dfsg-12.8.6+dfsg-12.9.2+dfsg-12.9.4+dfsg-12.9.6+dfsg-12.9.6+dfsg-1ubuntu0.1~esm12.9.6+dfsg-1ubuntu0.1~esm22.9.6+dfsg-1ubuntu0.1~esm3 |
None known |
ansible-coreUbuntu:22.04:LTS |
All versions, plus listed versions 2.12.0-12.12.0-1ubuntu0.1 |
None known |
ansibleUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.10.7+merged+base+2.10.8+dfsg-12.10.7+merged+base+2.10.8+dfsg-1ubuntu0.1~esm12.10.7+merged+base+2.10.8+dfsg-1ubuntu0.1~esm4 |
None known |
ansibleUbuntu:24.04:LTS |
All versions, plus listed versions 7.7.0+dfsg-17.7.0+dfsg-39.2.0+dfsg-0ubuntu49.2.0+dfsg-0ubuntu5 |
None known |
ansible-coreUbuntu:24.04:LTS |
All versions, plus listed versions 2.14.9-22.14.11-12.14.11-22.14.13-12.16.3-0ubuntu12.16.3-0ubuntu2 |
None known |
ansibleUbuntu:25.10 |
All versions, plus listed versions 11.2.0+dfsg-112.0.0~a2+dfsg-112.0.0~a4+dfsg-112.0.0~a6+dfsg-112.0.0~b1+dfsg-1 |
None known |
ansible-coreUbuntu:25.10 |
All versions, plus listed versions 2.18.1-4ubuntu12.19.0~beta4-1ubuntu12.19.0-1ubuntu1 |
None known |
ansibleUbuntu:26.10 |
All versions, plus listed versions 13.1.0+dfsg-1ubuntu113.4.0+dfsg-1 |
None known |
ansible-coreUbuntu:26.10 |
All versions, plus listed versions 2.20.1-12.21.1~rc1-12.21.1~rc1-22.21.1~rc1-2ubuntu12.22.0~beta2-1 |
None known |
ansibleUbuntu:26.04:LTS |
All versions, plus listed versions 12.0.0~b1+dfsg-112.0.0+dfsg-112.2.0+dfsg-113.1.0+dfsg-113.1.0+dfsg-1ubuntu1 |
None known |
ansible-coreUbuntu:26.04:LTS |
All versions, plus listed versions 2.19.0-1ubuntu12.19.4-12.20.1-1 |
None known |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | M8seven/cve-2026-11837-ansible-posix-authorized-key | 2026-06-23 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | CVE List, EUVD | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-11837 is a high vulnerability (CVSS 7.3) in Red Hat Enterprise Linux 10, published June 10, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.16%, the 5th percentile. Fixed in rhc-worker-playbook 0:0.2.3-6.el10_0.2.
References
access.redhat.com/errata/RHSA-2026:42946
access.redhat.com/errata/RHSA-2026:79112
access.redhat.com/errata/RHSA-2026:80508
access.redhat.com/errata/RHSA-2026:82339
access.redhat.com/security/cve/CVE-2026-11837
bugzilla.redhat.com/show_bug.cgi?id=2487424
Show 10 moreShow less
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-11837.json
nvd.nist.gov/vuln/detail/CVE-2026-11837
github.com/advisories/GHSA-49qh-h4vj-mrgf
security-tracker.debian.org/tracker/CVE-2026-11837
access.redhat.com/security/updates/classification
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_79112.json
cve.org/CVERecord?id=CVE-2026-11837
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_80508.json
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_82339.json
ubuntu.com/security/CVE-2026-11837