🔍 CVE-2025-67509

8.2
CVSS Score
HIGH
2025-12-10
2026-09-25 23:10
✅ 완료

🇰🇷 한글 설명

Neuron PHP 프레임워크의 MySQLSelectTool에서 발생하는 Read-Only Bypass 취약점으로, 공격자가 파일을 임의로 작성할 수 있는 취약점입니다.

💡 쉬운 설명

Neuron PHP 프레임워크의 MySQLSelectTool에서 발생하는 취약점으로, 공격자가 파일을 임의로 작성할 수 있습니다. 이는 MySQL/MariaDB 계정이 FILE 권한을 가지고 있고, 서버 설정이 유용한 위치에 대한 쓰기를 허용하는 경우에 발생할 수 있습니다.

🇺🇸 원문 (English)

Neuron is a PHP framework for creating and orchestrating AI Agents. Versions 2.8.11 and below use MySQLSelectTool, which is vulnerable to Read-Only Bypass. MySQLSelectTool is intended to be a read-only SQL tool (e.g., for LLM agent querying, however, validation based on the first keyword (e.g., SELECT) and a forbidden-keyword list does not block file-writing constructs such as INTO OUTFILE / INTO DUMPFILE. As a result, an attacker who can influence the tool input (e.g., via prompt injection through a public agent endpoint) may write arbitrary files to the DB server if the MySQL/MariaDB account has the FILE privilege and server configuration permits writes to a useful location (e.g., a web-accessible directory). This issue is fixed in version 2.8.12.

📍 영향받는 시스템

Neuron PHP 프레임워크 2.8.11 버전 이하

⚔️ 공격 벡터

공격자는 공공 에이전트 엔드포인트를 통해 도구 입력에 영향을 미칠 수 있으며, MySQL/MariaDB 계정이 FILE 권한을 가지고 있고, 서버 설정이 유용한 위치에 대한 쓰기를 허용하는 경우에 임의의 파일을 작성할 수 있습니다.

🛡️ 대응 방법

Neuron PHP 프레임워크를 2.8.12 버전으로 업데이트하거나, MySQL/MariaDB 계정의 FILE 권한을 제거하거나, 서버 설정을 변경하여 유용한 위치에 대한 쓰기를 금지합니다.

🔧 검증 코드

로컬 Linux PC에서 Python을 설치하고, neuron 패키지를 설치한 후, 위의 코드를 실행하여 Neuron PHP 프레임워크의 버전을 확인합니다. 코드를 실행하기 위해선 Python과 pip가 설치되어 있어야 합니다.

Shell / Script
import subprocess
result = subprocess.run(['pip', 'show', 'neuron'], capture_output=True, text=True)
if 'Version: 2.8.11' in result.stdout or 'Version: 2.8.10' in result.stdout:
    print({"result": "취약", "reason": "Neuron PHP 프레임워크의 버전이 2.8.11 또는 2.8.10입니다."})
else:
    print({"result": "양호", "reason": "Neuron PHP 프레임워크의 버전이 2.8.12 이상입니다."})

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

MySQL