CVE-2026-31882 json
Dagu SSE Authentication Bypass in Basic Auth Mode
published 2026-03-13 7 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-12087 , GHSA-9wmw-9wph-2vwp
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 59%
- public exploits
- 0
- none known
Summary
Dagu is a workflow engine with a built-in Web user interface. Prior to 2.2.4, when Dagu is configured with HTTP Basic authentication (DAGU_AUTH_MODE=basic), all Server-Sent Events (SSE) endpoints are accessible without any credentials. This allows unauthenticated attackers to access real-time DAG execution data, workflow configurations, execution logs, and queue status — bypassing the authentication that protects the REST API. The buildStreamAuthOptions() function builds authentication options for SSE/streaming endpoints. When the auth mode is basic, it returns an auth.Options struct with BasicAuthEnabled: true but AuthRequired defaults to false (Go zero value). The authentication middleware at internal/service/frontend/auth/middleware.go allows unauthenticated requests when AuthRequired is false. This vulnerability is fixed in 2.2.4.
Patch / fix
- npm dagu 2.2.4
- dagu dagu 2.2.4
- github.com/dagu-org/dagu@064616c commit
- github.com/dagu-org/dagu#1752 pull request
- github.com/dagu-org/dagu/releases/tag/v2.2.4 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.88% chance of exploitation in the next 30 days, higher than 59% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/dagu-org/dagu/security/advisories/GHSA-9wmw-9wph-2vwp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | dagu | <2.2.4 |
2.2.4 |
Affected products
- dagu-org dagu
Classification
- Weakness
-
- CWE-306 Missing Authentication for Critical Functionality
References
-
github.com
/dagu-org/dagu/pull/1752
web, issue-tracking, patch
-
github.com
/dagu-org/dagu/commit/064616c9b80c04824c1c7c357308f77f3f24d775
web, patch
-
github.com
/dagu-org/dagu/security/advisories/GHSA-9wmw-9wph-2vwp
web, exploit, mitigation, vendor-advisory
-
github.com
/dagu-org/dagu/releases/tag/v2.2.4
web, product, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-31882
advisory
-
github.com
/dagu-org/dagu
package
Sources
- CVE List CVE-2026-31882
- GitHub Advisory GHSA-9wmw-9wph-2vwp
- NVD CVE-2026-31882
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.