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

CVE-2025-48610

Published: 2025-12-08 17:16:18
Last Modified: 2025-12-08 21:16:00

Description

In __pkvm_guest_relinquish_to_host of mem_protect.c, there is a possible configuration data leak due to a logic error in the code. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.

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:google:android:-:*:*:*:*:*:*:* - VULNERABLE
Android Kernel Common < 19fbea31785113700731f4b458d7e20d05777729
Android Kernel Common < cac44a0bcfc58c85082b13220b4adcac43ccf369
Android 2025-12-01 Security Bulletin 之前的版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-48610 PoC - Information Disclosure in pKVM // This PoC demonstrates the concept of triggering the vulnerable code path // Note: Actual exploitation requires specific kernel debugging setup #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> // KVM ioctl definitions #define KVM_CREATE_VM 0xAE01 #define KVM_CREATE_VCPU 0xAE41 #define KVM_SET_REGS 0x4090AE82 #define KVM_RUN 0xAE80 struct kvm_run { __u8 delay_slot; __u8 instruction_valid; __u8 cr0; __u8 pending_exception; __u32 cr8; __u64 pc; __u64 regs[16]; }; struct kvm_sregs { __u64 cs_base; __u64 ds_base; __u64 es_base; __u64 fs_base; __u64 gs_base; __u64 ss_base; }; int main() { int kvm_fd, vm_fd, vcpu_fd; // Open KVM device kvm_fd = open("/dev/kvm", O_RDWR); if (kvm_fd < 0) { perror("Failed to open /dev/kvm"); return 1; } // Check if pKVM is available (protected VM support) int api_cap = ioctl(kvm_fd, 0xAE00); // KVM_GET_API_VERSION printf("KVM API Version: %d\n", api_cap); // Create VM vm_fd = ioctl(kvm_fd, KVM_CREATE_VM, 0); if (vm_fd < 0) { perror("Failed to create VM"); return 1; } // Create vCPU vcpu_fd = ioctl(vm_fd, KVM_CREATE_VCPU, 0); if (vcpu_fd < 0) { perror("Failed to create vCPU"); return 1; } printf("[*] Attempting to trigger __pkvm_guest_relinquish_to_host\n"); printf("[*] This vulnerability allows configuration data disclosure\n"); printf("[*] Trigger conditions:\n"); printf(" - Local access to the system\n"); printf(" - Low privilege user account\n"); printf(" - Trigger VM exit and return to host\n"); // The actual exploitation requires triggering the specific code path // in __pkvm_guest_relinquish_to_host which has a logic error // causing configuration data to be leaked // For demonstration, this shows the attack setup // Actual PoC would require kernel debugging and memory inspection close(vcpu_fd); close(vm_fd); close(kvm_fd); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-48610", "sourceIdentifier": "[email protected]", "published": "2025-12-08T17:16:17.687", "lastModified": "2025-12-08T21:15:59.923", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "In __pkvm_guest_relinquish_to_host of mem_protect.c, there is a possible configuration data leak due to a logic error in the code. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "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}, {"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": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:google:android:-:*:*:*:*:*:*:*", "matchCriteriaId": "F8B9FEC8-73B6-43B8-B24E-1F7C20D91D26"}]}]}], "references": [{"url": "https://android.googlesource.com/kernel/common/+/19fbea31785113700731f4b458d7e20d05777729", "source": "[email protected]", "tags": ["Patch", "Product"]}, {"url": "https://android.googlesource.com/kernel/common/+/cac44a0bcfc58c85082b13220b4adcac43ccf369", "source": "[email protected]", "tags": ["Patch", "Product"]}, {"url": "https://source.android.com/security/bulletin/2025-12-01", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}