<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-20T13:01:34.052244+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-84314</id>
    <title>fkie_cve-2026-84314</title>
    <updated>2026-10-20T13:01:34.053572+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Nginx UI is a web user interface for the Nginx web server. Prior to 2.4.1, the POST /api/users/:id user-management endpoint permits an authenticated user to change another user's password without passing RequireSecureSession, even though the self-service password-change path requires that step-up. An attacker with an authenticated account can change the initial administrator's password, invalidate existing administrator tokens, and then authenticate as the administrator. This issue is fixed in version 2.4.1.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-84314"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-2gc7-j998-5xx6</id>
    <title>GHSA-2gc7-j998-5xx6 — Nginx UI: Account Takeover via Missing `RequireSecureSession` on User Management Endpoint</title>
    <updated>2026-10-20T13:01:34.053657+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/0xJacky/Nginx-UI</p>
<p>### Summary
`POST /api/users/:id` allows any authenticated user to change any other user's password without `RequireSecureSession` (2FA verification). In contrast, the self password change endpoint `POST /api/user/password` correctly requires `RequireSecureSession`. This inconsistency enables any authenticated user to take over the initial admin account (user ID 1) by simply changing its password.</p>
<p>### Details
nginx-ui enforces `RequireSecureSession` middleware on sensitive operations such as self password change (`api/user/router.go:55`), self profile update (`api/user/router.go:54`), settings modification (`api/settings/router.go:12`), and config file deletion/rename (`api/config/router.go:16-21`).</p>
<p>However, the user management endpoint registered in `InitManageUserRouter` (`api/user/user.go:31-68`) is mounted on the `g` router group (`router/routers.go:92`) which only applies `middleware.AuthRequired()` and `middleware.Proxy()` — **no `RequireSecureSession()`**.</p>
<p>As a result, `POST /api/users/:id` with a `password` field in the JSON body updates the target user's password with only basic JWT authentication. No 2FA or secure session verification is performed, even if the target user has 2FA enabled.</p>
<p>The attack flow:</p>
<p>1. Attacker authenticates as any user (e.g., user ID 2).
2. Attacker sends `POST /api/users/1` with `{"password": "attacker-chosen"}`.
3. Admin (user ID 1) password is changed. All existing admin tokens are invalidated (`api/user/user.go:48-49`).
4. Attacker…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-2gc7-j998-5xx6"/>
  </entry>
</feed>
