{"api_version":"1","generated_at":"2026-10-05T21:25:35+00:00","cve":"CVE-2026-105638","urls":{"html":"https://cve.report/CVE-2026-105638","api":"https://cve.report/api/cve/CVE-2026-105638.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-105638","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-105638"},"summary":{"title":"Plane: Magic-code verifier endpoint has no rate limit, enabling 6-digit OTP brute force","description":"Plane is an open-source project management tool. Prior to 1.4.0, Plane's magic-code email login uses a six-digit numeric OTP with approximately 20 bits of entropy. The verifier has no per-code failed-attempt counter, and an incorrect code does not increment a counter, invalidate the Redis entry, or lock the email address. The verifier extends django.views.View rather than DRF's APIView, so the configured AnonRateThrottle limit does not apply. The middleware stack also contains no Django-level rate limiter such as django-ratelimit, django-axes, or an IP-throttling middleware. This vulnerability is fixed in 1.4.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-05 19:17:18","updated_at":"2026-10-05 19:17:18"},"problem_types":["CWE-307","CWE-307 CWE-307: Improper Restriction of Excessive Authentication Attempts"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/makeplane/plane/releases/tag/v1.4.0","name":"https://github.com/makeplane/plane/releases/tag/v1.4.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/makeplane/plane/pull/9130","name":"https://github.com/makeplane/plane/pull/9130","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/makeplane/plane/commit/b1c78fe4c832e188454840eb38fd20cd05ef8b0a","name":"https://github.com/makeplane/plane/commit/b1c78fe4c832e188454840eb38fd20cd05ef8b0a","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/makeplane/plane/security/advisories/GHSA-mqjv-rwgv-4gxq","name":"https://github.com/makeplane/plane/security/advisories/GHSA-mqjv-rwgv-4gxq","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-105638","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105638","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"makeplane","product":"plane","version":"affected < 1.4.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-105638","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-10-05T18:43:46.990678Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-05T18:44:08.562Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/makeplane/plane/security/advisories/GHSA-mqjv-rwgv-4gxq"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"plane","vendor":"makeplane","versions":[{"status":"affected","version":"< 1.4.0"}]}],"descriptions":[{"lang":"en","value":"Plane is an open-source project management tool. Prior to 1.4.0, Plane's magic-code email login uses a six-digit numeric OTP with approximately 20 bits of entropy. The verifier has no per-code failed-attempt counter, and an incorrect code does not increment a counter, invalidate the Redis entry, or lock the email address. The verifier extends django.views.View rather than DRF's APIView, so the configured AnonRateThrottle limit does not apply. The middleware stack also contains no Django-level rate limiter such as django-ratelimit, django-axes, or an IP-throttling middleware. This vulnerability is fixed in 1.4.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-307","description":"CWE-307: Improper Restriction of Excessive Authentication Attempts","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-05T18:09:35.649Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/makeplane/plane/security/advisories/GHSA-mqjv-rwgv-4gxq","tags":["x_refsource_CONFIRM"],"url":"https://github.com/makeplane/plane/security/advisories/GHSA-mqjv-rwgv-4gxq"},{"name":"https://github.com/makeplane/plane/pull/9130","tags":["x_refsource_MISC"],"url":"https://github.com/makeplane/plane/pull/9130"},{"name":"https://github.com/makeplane/plane/commit/b1c78fe4c832e188454840eb38fd20cd05ef8b0a","tags":["x_refsource_MISC"],"url":"https://github.com/makeplane/plane/commit/b1c78fe4c832e188454840eb38fd20cd05ef8b0a"},{"name":"https://github.com/makeplane/plane/releases/tag/v1.4.0","tags":["x_refsource_MISC"],"url":"https://github.com/makeplane/plane/releases/tag/v1.4.0"}],"source":{"advisory":"GHSA-mqjv-rwgv-4gxq","discovery":"UNKNOWN"},"title":"Plane: Magic-code verifier endpoint has no rate limit, enabling 6-digit OTP brute force"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-105638","datePublished":"2026-10-05T18:09:35.649Z","dateReserved":"2026-10-05T16:40:39.611Z","dateUpdated":"2026-10-05T18:44:08.562Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-05 19:17:18","lastModifiedDate":"2026-10-05 19:17:18","problem_types":["CWE-307","CWE-307 CWE-307: Improper Restriction of Excessive Authentication Attempts"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-05T18:43:46.990678Z","id":"CVE-2026-105638","options":[{"exploitation":"poc"},{"automatable":"yes"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"105638","Ordinal":"1","Title":"Plane: Magic-code verifier endpoint has no rate limit, enabling ","CVE":"CVE-2026-105638","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"105638","Ordinal":"1","NoteData":"Plane is an open-source project management tool. Prior to 1.4.0, Plane's magic-code email login uses a six-digit numeric OTP with approximately 20 bits of entropy. The verifier has no per-code failed-attempt counter, and an incorrect code does not increment a counter, invalidate the Redis entry, or lock the email address. The verifier extends django.views.View rather than DRF's APIView, so the configured AnonRateThrottle limit does not apply. The middleware stack also contains no Django-level rate limiter such as django-ratelimit, django-axes, or an IP-throttling middleware. This vulnerability is fixed in 1.4.0.","Type":"Description","Title":"Plane: Magic-code verifier endpoint has no rate limit, enabling "}]}}}