{"api_version":"1","generated_at":"2026-09-14T18:48:57+00:00","cve":"CVE-2026-82437","urls":{"html":"https://cve.report/CVE-2026-82437","api":"https://cve.report/api/cve/CVE-2026-82437.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-82437","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-82437"},"summary":{"title":"Apache Storm Logviewer: Log Access Controls Not Enforced by Logviewer","description":"Description\n\nThe Logviewer offers `logs.users` and `logs.groups` so operators can control who may read log content. For\ndaemon logs those settings were not applied: the access decision combined the \"this is a daemon log\" flag\nwith the authorizer result in a way that discarded the authorizer's answer whenever the flag was set, and\nthe daemon log page and download endpoints reached the handler without consulting an authorizer at all. Any\nuser able to pass the configured servlet filter could therefore read `nimbus.log`, `supervisor.log` and the\nother daemon logs on every reachable node, which contain other tenants' topology names, owners and\nconfiguration fragments.\n\nThe same advisory covers the log listing endpoints, which accepted a user argument and never applied it, so\n`/listLogs` and `/searchLogs` returned every tenant's topology and worker log file names regardless of the\ncaller. That part is metadata only.\n\nThere was no configuration that closed either behaviour.\n\nMitigation\n\nUpgrade to 3.1.0, where the daemon log paths evaluate the same configured user and group lists that the\nworker log paths already used, and the listing endpoints filter by the requesting user.\n\nUsers who cannot upgrade immediately should place the Logviewer behind a reverse proxy that restricts the\ndaemon log endpoints, and should treat daemon log content as readable by any filter-authenticated user.\n\nCredit\n\nThe ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.","state":"PUBLISHED","assigner":"apache","published_at":"2026-09-14 15:17:10","updated_at":"2026-09-14 15:17:10"},"problem_types":["CWE-862","CWE-862 CWE-862 Missing Authorization"],"metrics":[],"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/09/13/16","name":"http://www.openwall.com/lists/oss-security/2026/09/13/16","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://lists.apache.org/thread/hqyj3spllmbj6vg9vmx29b1tjhzysdkl","name":"https://lists.apache.org/thread/hqyj3spllmbj6vg9vmx29b1tjhzysdkl","refsource":"security@apache.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-82437","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-82437","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Apache Software Foundation","product":"Apache Storm Logviewer","version":"affected 3.0.0 3.1.0 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"The ASF using Claude Agents","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2026-09-14T14:13:39.910Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"url":"http://www.openwall.com/lists/oss-security/2026/09/13/16"}],"title":"CVE Program Container"}],"cna":{"affected":[{"collectionURL":"https://repo.maven.apache.org/maven2","defaultStatus":"unaffected","packageName":"org.apache.storm:storm-webapp","product":"Apache Storm Logviewer","vendor":"Apache Software Foundation","versions":[{"lessThan":"3.1.0","status":"affected","version":"3.0.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"The ASF using Claude Agents"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<b>Description</b><br><br>The Logviewer offers `logs.users` and `logs.groups` so operators can control who may read log content. For<br>daemon logs those settings were not applied: the access decision combined the \"this is a daemon log\" flag<br>with the authorizer result in a way that discarded the authorizer's answer whenever the flag was set, and<br>the daemon log page and download endpoints reached the handler without consulting an authorizer at all. Any<br>user able to pass the configured servlet filter could therefore read `nimbus.log`, `supervisor.log` and the<br>other daemon logs on every reachable node, which contain other tenants' topology names, owners and<br>configuration fragments.<br><br>The same advisory covers the log listing endpoints, which accepted a user argument and never applied it, so<br>`/listLogs` and `/searchLogs` returned every tenant's topology and worker log file names regardless of the<br>caller. That part is metadata only.<br><br>There was no configuration that closed either behaviour.<br><br><b>Mitigation</b><br><br>Upgrade to 3.1.0, where the daemon log paths evaluate the same configured user and group lists that the<br>worker log paths already used, and the listing endpoints filter by the requesting user.<br><br>Users who cannot upgrade immediately should place the Logviewer behind a reverse proxy that restricts the<br>daemon log endpoints, and should treat daemon log content as readable by any filter-authenticated user.<br><br><b>Credit</b><br><br>The ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.<br>"}],"value":"Description\n\nThe Logviewer offers `logs.users` and `logs.groups` so operators can control who may read log content. For\ndaemon logs those settings were not applied: the access decision combined the \"this is a daemon log\" flag\nwith the authorizer result in a way that discarded the authorizer's answer whenever the flag was set, and\nthe daemon log page and download endpoints reached the handler without consulting an authorizer at all. Any\nuser able to pass the configured servlet filter could therefore read `nimbus.log`, `supervisor.log` and the\nother daemon logs on every reachable node, which contain other tenants' topology names, owners and\nconfiguration fragments.\n\nThe same advisory covers the log listing endpoints, which accepted a user argument and never applied it, so\n`/listLogs` and `/searchLogs` returned every tenant's topology and worker log file names regardless of the\ncaller. That part is metadata only.\n\nThere was no configuration that closed either behaviour.\n\nMitigation\n\nUpgrade to 3.1.0, where the daemon log paths evaluate the same configured user and group lists that the\nworker log paths already used, and the listing endpoints filter by the requesting user.\n\nUsers who cannot upgrade immediately should place the Logviewer behind a reverse proxy that restricts the\ndaemon log endpoints, and should treat daemon log content as readable by any filter-authenticated user.\n\nCredit\n\nThe ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm."}],"metrics":[{"other":{"content":{"text":"moderate"},"type":"Textual description of severity"},"scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","description":"CWE-862 Missing Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-14T14:05:07.981Z","orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","shortName":"apache"},"references":[{"tags":["vendor-advisory"],"url":"https://lists.apache.org/thread/hqyj3spllmbj6vg9vmx29b1tjhzysdkl"}],"source":{"discovery":"UNKNOWN"},"title":"Apache Storm Logviewer: Log Access Controls Not Enforced by Logviewer","x_generator":{"engine":"Vulnogram 1.0.3"}}},"cveMetadata":{"assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","assignerShortName":"apache","cveId":"CVE-2026-82437","datePublished":"2026-09-14T14:05:07.981Z","dateReserved":"2026-08-29T10:35:33.225Z","dateUpdated":"2026-09-14T14:13:39.910Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-14 15:17:10","lastModifiedDate":"2026-09-14 15:17:10","problem_types":["CWE-862","CWE-862 CWE-862 Missing Authorization"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"82437","Ordinal":"1","Title":"Apache Storm Logviewer: Log Access Controls Not Enforced by Logv","CVE":"CVE-2026-82437","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"82437","Ordinal":"1","NoteData":"Description\n\nThe Logviewer offers `logs.users` and `logs.groups` so operators can control who may read log content. For\ndaemon logs those settings were not applied: the access decision combined the \"this is a daemon log\" flag\nwith the authorizer result in a way that discarded the authorizer's answer whenever the flag was set, and\nthe daemon log page and download endpoints reached the handler without consulting an authorizer at all. Any\nuser able to pass the configured servlet filter could therefore read `nimbus.log`, `supervisor.log` and the\nother daemon logs on every reachable node, which contain other tenants' topology names, owners and\nconfiguration fragments.\n\nThe same advisory covers the log listing endpoints, which accepted a user argument and never applied it, so\n`/listLogs` and `/searchLogs` returned every tenant's topology and worker log file names regardless of the\ncaller. That part is metadata only.\n\nThere was no configuration that closed either behaviour.\n\nMitigation\n\nUpgrade to 3.1.0, where the daemon log paths evaluate the same configured user and group lists that the\nworker log paths already used, and the listing endpoints filter by the requesting user.\n\nUsers who cannot upgrade immediately should place the Logviewer behind a reverse proxy that restricts the\ndaemon log endpoints, and should treat daemon log content as readable by any filter-authenticated user.\n\nCredit\n\nThe ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.","Type":"Description","Title":"Apache Storm Logviewer: Log Access Controls Not Enforced by Logv"}]}}}