Security Vulnerability Report
中文
CVE-2025-31248 CVSS 5.5 MEDIUM

CVE-2025-31248

Published: 2025-11-21 22:16:20
Last Modified: 2026-04-02 19:19:55

Description

A parsing issue in the handling of directory paths was addressed with improved path validation. This issue is fixed in macOS Sequoia 15.5, macOS Sonoma 14.7.3, macOS Ventura 13.7.3. An app may be able to access sensitive user data.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
macOS Sequoia < 15.5
macOS Sonoma < 14.7.3
macOS Ventura < 13.7.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-31248 PoC - macOS Path Traversal # Note: This is a conceptual PoC for educational purposes only import Foundation // Vulnerable path handling pattern func vulnerablePathAccess(basePath: String, userInput: String) -> Data? { // VULNERABLE: Direct concatenation without validation let fullPath = basePath + "/" + userInput // Attempt to read file at constructed path do { let data = try Data(contentsOf: URL(fileURLWithPath: fullPath)) return data // Could return sensitive data } catch { return nil } } // Example attack vector: // userInput = "../../../../Library/Application Support/com.apple.idle/secret.dat" // This could bypass intended directory restrictions // Safe implementation (patched version) func safePathAccess(basePath: String, userInput: String) -> Data? { // SAFE: Validate and normalize path let normalizedInput = (basePath as NSString).standardizingPath let fullPath = (basePath as NSString).appendingPathComponent(userInput) let fullNormalized = (fullPath as NSString).standardizingPath // Check if resolved path is within allowed directory guard fullNormalized.hasPrefix(normalizedInput) else { return nil // Path traversal detected } do { return try Data(contentsOf: URL(fileURLWithPath: fullNormalized)) } catch { return nil } } print("CVE-2025-31248: macOS Path Parsing Vulnerability") print("Affected: macOS Sequoia < 15.5, Sonoma < 14.7.3, Ventura < 13.7.3")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-31248", "sourceIdentifier": "[email protected]", "published": "2025-11-21T22:16:19.553", "lastModified": "2026-04-02T19:19:54.800", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A parsing issue in the handling of directory paths was addressed with improved path validation. This issue is fixed in macOS Sequoia 15.5, macOS Sonoma 14.7.3, macOS Ventura 13.7.3. An app may be able to access sensitive user data."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionEndExcluding": "13.7.3", "matchCriteriaId": "A12642CB-69CC-4C6E-A2C2-CA8AE736EE88"}, {"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "14.0", "versionEndExcluding": "14.7.3", "matchCriteriaId": "9C523C7E-B1CF-454B-8AFD-B462C5120D9E"}, {"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "15.0", "versionEndExcluding": "15.5", "matchCriteriaId": "C7416C76-07EC-4132-A509-E3F62B002CCA"}]}]}], "references": [{"url": "https://support.apple.com/en-us/122069", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://support.apple.com/en-us/122070", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://support.apple.com/en-us/122716", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}]}}