
مجموعة نصوص آلية لاكتشاف ومعالجة CVE-2025-46295 عن طريق استبدال ملفات JAR الخاصة بـ Apache Commons المعرضة للخطر في تثبيتات FileMaker Server مع دعم للتشغيل التجريبي والنسخ الاحتياطي والتراجع.
يُعد مستبدل ملفات JAR الخاصة بـ Apache Commons في FileMaker حلاً آلياً يعالج CVE-2025-46295 عن طريق استبدال ملفات JAR المعرّضة للخطر الخاصة بـ Apache Commons في تثبيتات FileMaker Server. فبدلاً من ترقية FileMaker Server بالكامل، يتبع هذا الحل الإرشادات الرسمية من Claris لاستبدال ملفات commons-text و commons-lang3 المعرّضة للخطر فقط بنسخ محدّثة.
بالنسبة لمعظم المستخدمين، قم بتنزيل أحدث إصدار (release) بدلاً من البناء من المصدر:
انتقل إلى صفحة الإصدارات
قم بتنزيل الملف المناسب لمنصتك:
filemaker-jar-replacer-windows.zipfilemaker-jar-replacer-macos.tar.gzfilemaker-jar-replacer-ubuntu.tar.gzقم بفك الضغط والتشغيل - راجع ملاحظات الإصدار للحصول على تعليمات تفصيلية لفك الضغط والاستخدام
يتم تثبيت ملفات JAR المتأثرة فقط عند تمكين Web Publishing Engine لأول مرة.
يوفر هذا المستبدل لملفات JAR نصوصاً برمجية خاصة بكل منصة:
replace-filemaker-jars-windows.ps1)replace-filemaker-jars-macos.sh)replace-filemaker-jars-ubuntu.sh)مهم: قبل إجراء أي تغييرات على FileMaker Server لديك، شغّل النص البرمجي مع خيار --dry-run للتحقق مما إذا كان خادمك معرّضاً للخطر ومعرفة التغييرات التي سيتم إجراؤها.
# Run PowerShell as Administrator
# Show help and available options
.\replace-filemaker-jars-windows.ps1 -Help
# Check if your server is vulnerable (RECOMMENDED FIRST STEP)
.\replace-filemaker-jars-windows.ps1 -DryRun
# Apply the security fix (only after reviewing dry-run results)
.\replace-filemaker-jars-windows.ps1
# Run with sudo privileges
# Show help and available options
sudo ./replace-filemaker-jars-macos.sh --help
# Check if your server is vulnerable (RECOMMENDED FIRST STEP)
sudo ./replace-filemaker-jars-macos.sh --dry-run
# Apply the security fix (only after reviewing dry-run results)
sudo ./replace-filemaker-jars-macos.sh
# Run with sudo privileges
# Show help and available options
sudo ./replace-filemaker-jars-ubuntu.sh --help
# Check if your server is vulnerable (RECOMMENDED FIRST STEP)
sudo ./replace-filemaker-jars-ubuntu.sh --dry-run
# Apply the security fix (only after reviewing dry-run results)
sudo ./replace-filemaker-jars-ubuntu.sh
يُعد خيار --dry-run الطريقة الأكثر أماناً من أجل:
قم دائماً بتشغيل --dry-run أولاً لفهم ما سيفعله النص البرمجي على نظامك.
filemaker-jar-replacer/
├── README.md # This file
├── replace-filemaker-jars-windows.ps1 # Windows PowerShell script
├── replace-filemaker-jars-macos.sh # macOS Bash script
├── replace-filemaker-jars-ubuntu.sh # Ubuntu Bash script
├── scripts/
│ ├── windows/
│ │ └── modules/ # PowerShell modules for JAR operations
│ ├── macos/
│ │ └── modules/ # Bash function modules for JAR operations
│ ├── ubuntu/
│ │ └── modules/ # Bash function modules for JAR operations
│ └── shared/ # Shared utilities and templates
├── config/
│ ├── logging-config.json # Logging configuration
│ └── jar-replacement-config.json # JAR replacement configuration
├── tests/ # Test suite (BATS and Pester)
├── logs/ # Log files (created during execution)
└── backups/ # JAR backup files (created during execution)
يمكنك إعداد المحدِّث باستخدام متغيرات البيئة:
# FileMaker Server credentials
export FILEMAKER_USERNAME="admin"
export FILEMAKER_PASSWORD="your_secure_password"
# Custom paths (optional)
export FILEMAKER_INSTALL_PATH="/custom/path/to/filemaker"
export BACKUP_DIRECTORY="/custom/backup/path"
أنشئ ملف .env في دليل النص البرمجي:
# .env file (must have 600 permissions)
FILEMAKER_USERNAME=admin
FILEMAKER_PASSWORD=your_secure_password
BACKUP_DIRECTORY=/custom/backup/path
مهم: تأكد من أن ملف .env لديه صلاحيات مقيدة (600) لأغراض الأمان.
إذا فشل النص البرمجي الآلي، اتبع هذه الخطوات اليدوية لاستبدال ملفات JAR المعرّضة للخطر:
# Using fmsadmin (recommended)
& "C:\Program Files\FileMaker\FileMaker Server\Database Server\fmsadmin.exe" stop wpe -u admin -p password
# Or using services
Stop-Service "FileMaker Server Web Publishing Engine"
# Using fmsadmin (recommended)
sudo "/Library/FileMaker Server/Database Server/bin/fmsadmin" stop wpe -u admin -p password
# Or using launchctl
sudo launchctl stop com.filemaker.wpe