{"api_version":"1","generated_at":"2026-10-15T20:45:51+00:00","cve":"CVE-2026-104106","urls":{"html":"https://cve.report/CVE-2026-104106","api":"https://cve.report/api/cve/CVE-2026-104106.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-104106","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-104106"},"summary":{"title":"FileRise: 2FA disable and TOTP enrollment lack step-up re-authentication; enrollment activates before verification","description":"FileRise is a self-hosted web-based file manager with multi-file upload, editing, and batch operations. Prior to 3.23.0, FileRise permits an authenticated session with a valid CSRF token to disable TOTP without recent full reauthentication or to begin enrollment when the account currently has no TOTP secret. The enrollment endpoint returns 409 rather than directly overwriting an already configured secret, but it persists and activates a newly generated secret before a TOTP code verifies possession. An attacker controlling an existing authenticated session can therefore disable an existing second factor or enroll one after the account has no configured secret; this is not a direct overwrite of an active authenticator. This issue is fixed in version 3.23.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-14 21:17:34","updated_at":"2026-10-15 16:17:33"},"problem_types":["CWE-306","CWE-620","CWE-306 CWE-306: Missing Authentication for Critical Function","CWE-620 CWE-620: Unverified Password Change"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/error311/FileRise/commit/cc1118923b522baff28dca05bdd79c27f984c68a","name":"https://github.com/error311/FileRise/commit/cc1118923b522baff28dca05bdd79c27f984c68a","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/error311/FileRise/security/advisories/GHSA-77m8-hm3q-mrr5","name":"https://github.com/error311/FileRise/security/advisories/GHSA-77m8-hm3q-mrr5","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/error311/FileRise/releases/tag/v3.23.0","name":"https://github.com/error311/FileRise/releases/tag/v3.23.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-104106","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104106","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"error311","product":"FileRise","version":"affected < 3.23.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-104106","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-15T13:52:03.051138Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-15T15:04:46.143Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"FileRise","vendor":"error311","versions":[{"status":"affected","version":"< 3.23.0"}]}],"descriptions":[{"lang":"en","value":"FileRise is a self-hosted web-based file manager with multi-file upload, editing, and batch operations. Prior to 3.23.0, FileRise permits an authenticated session with a valid CSRF token to disable TOTP without recent full reauthentication or to begin enrollment when the account currently has no TOTP secret. The enrollment endpoint returns 409 rather than directly overwriting an already configured secret, but it persists and activates a newly generated secret before a TOTP code verifies possession. An attacker controlling an existing authenticated session can therefore disable an existing second factor or enroll one after the account has no configured secret; this is not a direct overwrite of an active authenticator. This issue is fixed in version 3.23.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-306","description":"CWE-306: Missing Authentication for Critical Function","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-620","description":"CWE-620: Unverified Password Change","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-14T20:36:27.436Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/error311/FileRise/security/advisories/GHSA-77m8-hm3q-mrr5","tags":["x_refsource_CONFIRM"],"url":"https://github.com/error311/FileRise/security/advisories/GHSA-77m8-hm3q-mrr5"},{"name":"https://github.com/error311/FileRise/commit/cc1118923b522baff28dca05bdd79c27f984c68a","tags":["x_refsource_MISC"],"url":"https://github.com/error311/FileRise/commit/cc1118923b522baff28dca05bdd79c27f984c68a"},{"name":"https://github.com/error311/FileRise/releases/tag/v3.23.0","tags":["x_refsource_MISC"],"url":"https://github.com/error311/FileRise/releases/tag/v3.23.0"}],"source":{"advisory":"GHSA-77m8-hm3q-mrr5","discovery":"UNKNOWN"},"title":"FileRise: 2FA disable and TOTP enrollment lack step-up re-authentication; enrollment activates before verification"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-104106","datePublished":"2026-10-14T20:36:27.436Z","dateReserved":"2026-10-01T18:05:14.173Z","dateUpdated":"2026-10-15T15:04:46.143Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-14 21:17:34","lastModifiedDate":"2026-10-15 16:17:33","problem_types":["CWE-306","CWE-620","CWE-306 CWE-306: Missing Authentication for Critical Function","CWE-620 CWE-620: Unverified Password Change"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-15T13:52:03.051138Z","id":"CVE-2026-104106","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"104106","Ordinal":"1","Title":"FileRise: 2FA disable and TOTP enrollment lack step-up re-authen","CVE":"CVE-2026-104106","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"104106","Ordinal":"1","NoteData":"FileRise is a self-hosted web-based file manager with multi-file upload, editing, and batch operations. Prior to 3.23.0, FileRise permits an authenticated session with a valid CSRF token to disable TOTP without recent full reauthentication or to begin enrollment when the account currently has no TOTP secret. The enrollment endpoint returns 409 rather than directly overwriting an already configured secret, but it persists and activates a newly generated secret before a TOTP code verifies possession. An attacker controlling an existing authenticated session can therefore disable an existing second factor or enroll one after the account has no configured secret; this is not a direct overwrite of an active authenticator. This issue is fixed in version 3.23.0.","Type":"Description","Title":"FileRise: 2FA disable and TOTP enrollment lack step-up re-authen"}]}}}