{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-104106",
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "state": "PUBLISHED",
        "assignerShortName": "GitHub_M",
        "dateReserved": "2026-10-01T18:05:14.173Z",
        "datePublished": "2026-10-14T20:36:27.436Z",
        "dateUpdated": "2026-10-14T20:36:27.436Z"
    },
    "containers": {
        "cna": {
            "title": "FileRise: 2FA disable and TOTP enrollment lack step-up re-authentication; enrollment activates before verification",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-306",
                            "lang": "en",
                            "description": "CWE-306: Missing Authentication for Critical Function",
                            "type": "CWE"
                        }
                    ]
                },
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-620",
                            "lang": "en",
                            "description": "CWE-620: Unverified Password Change",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "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"
                    }
                }
            ],
            "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"
                }
            ],
            "affected": [
                {
                    "vendor": "error311",
                    "product": "FileRise",
                    "versions": [
                        {
                            "version": "< 3.23.0",
                            "status": "affected"
                        }
                    ]
                }
            ],
            "providerMetadata": {
                "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
                "shortName": "GitHub_M",
                "dateUpdated": "2026-10-14T20:36:27.436Z"
            },
            "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."
                }
            ],
            "source": {
                "advisory": "GHSA-77m8-hm3q-mrr5",
                "discovery": "UNKNOWN"
            }
        }
    }
}