
स्वचालित स्क्रिप्ट सूट जो CVE-2025-46295 का पता लगाने और उसे ठीक करने के लिए FileMaker Server इंस्टॉलेशन में कमजोर Apache Commons JARs को बदलता है, जिसमें ड्राई-रन, बैकअप और रोलबैक सपोर्ट शामिल है।
फाइलमेकर अपाचे कॉमन्स JAR रिप्लेसर एक स्वचालन समाधान है जो CVE-2025-46295 को संबोधित करता है, फाइलमेकर सर्वर इंस्टॉलेशन में कमजोर अपाचे कॉमन्स JAR फ़ाइलों को बदलकर। पूरे फाइलमेकर सर्वर को अपग्रेड करने के बजाय, यह समाधान केवल कमजोर commons-text और commons-lang3 JAR फ़ाइलों को अपडेटेड वर्ज़न से बदलने के लिए आधिकारिक क्लेरिस मार्गदर्शन का पालन करता है।
अधिकांश उपयोगकर्ताओं के लिए, स्रोत से बनाने के बजाय नवीनतम रिलीज़ डाउनलोड करें:
रिलीज़ पेज पर जाएं
अपने प्लेटफ़ॉर्म के लिए उपयुक्त फ़ाइल डाउनलोड करें:
filemaker-jar-replacer-windows.zipfilemaker-jar-replacer-macos.tar.gzfilemaker-jar-replacer-ubuntu.tar.gzनिकालें और चलाएं - विस्तृत निष्कर्षण और उपयोग निर्देशों के लिए रिलीज़ नोट्स देखें
प्रभावित JAR फ़ाइलें तभी स्थापित होती हैं जब वेब पब्लिशिंग इंजन पहली बार सक्षम किया जाता है।
यह JAR रिप्लेसर प्लेटफ़ॉर्म-विशिष्ट स्क्रिप्ट प्रदान करता है:
replace-filemaker-jars-windows.ps1)replace-filemaker-jars-macos.sh)replace-filemaker-jars-ubuntu.sh)महत्वपूर्ण: अपने फाइलमेकर सर्वर में कोई भी बदलाव करने से पहले, --dry-run विकल्प के साथ स्क्रिप्ट चलाएं ताकि जांच सकें कि आपका सर्वर कमजोर है या नहीं और क्या बदलाव किए जाएंगे।
# पावरशेल को व्यवस्थापक के रूप में चलाएं
# सहायता और उपलब्ध विकल्प दिखाएं
.\replace-filemaker-jars-windows.ps1 -Help
# जांचें कि आपका सर्वर कमजोर है या नहीं (अनुशंसित पहला कदम)
.\replace-filemaker-jars-windows.ps1 -DryRun
# सुरक्षा फिक्स लागू करें (केवल ड्राई-रन परिणामों की समीक्षा के बाद)
.\replace-filemaker-jars-windows.ps1
# sudo विशेषाधिकारों के साथ चलाएं
# सहायता और उपलब्ध विकल्प दिखाएं
sudo ./replace-filemaker-jars-macos.sh --help
# जांचें कि आपका सर्वर कमजोर है या नहीं (अनुशंसित पहला कदम)
sudo ./replace-filemaker-jars-macos.sh --dry-run
# सुरक्षा फिक्स लागू करें (केवल ड्राई-रन परिणामों की समीक्षा के बाद)
sudo ./replace-filemaker-jars-macos.sh
# sudo विशेषाधिकारों के साथ चलाएं
# सहायता और उपलब्ध विकल्प दिखाएं
sudo ./replace-filemaker-jars-ubuntu.sh --help
# जांचें कि आपका सर्वर कमजोर है या नहीं (अनुशंसित पहला कदम)
sudo ./replace-filemaker-jars-ubuntu.sh --dry-run
# सुरक्षा फिक्स लागू करें (केवल ड्राई-रन परिणामों की समीक्षा के बाद)
sudo ./replace-filemaker-jars-ubuntu.sh
--dry-run विकल्प सबसे सुरक्षित तरीका है:
हमेशा पहले --dry-run के साथ चलाएं ताकि समझ सकें कि स्क्रिप्ट आपके सिस्टम पर क्या करेगी.
filemaker-jar-replacer/
├── README.md # यह फ़ाइल
├── replace-filemaker-jars-windows.ps1 # विंडोज़ पावरशेल स्क्रिप्ट
├── replace-filemaker-jars-macos.sh # macOS बैश स्क्रिप्ट
├── replace-filemaker-jars-ubuntu.sh # उबंटू बैश स्क्रिप्ट
├── scripts/
│ ├── windows/
│ │ └── modules/ # JAR संचालन के लिए पावरशेल मॉड्यूल
│ ├── macos/
│ │ └── modules/ # JAR संचालन के लिए बैश फ़ंक्शन मॉड्यूल
│ ├── ubuntu/
│ │ └── modules/ # JAR संचालन के लिए बैश फ़ंक्शन मॉड्यूल
│ └── shared/ # साझा उपयोगिताएँ और टेम्पलेट
├── config/
│ ├── logging-config.json # लॉगिंग कॉन्फ़िगरेशन
│ └── jar-replacement-config.json # JAR प्रतिस्थापन कॉन्फ़िगरेशन
├── tests/ # परीक्षण सूट (BATS और पेस्टर)
├── logs/ # लॉग फ़ाइलें (निष्पादन के दौरान बनाई गईं)
└── backups/ # JAR बैकअप फ़ाइलें (निष्पादन के दौरान बनाई गईं)
आप अपडेटर को पर्यावरण चर का उपयोग करके कॉन्फ़िगर कर सकते हैं:
# फाइलमेकर सर्वर क्रेडेंशियल
export FILEMAKER_USERNAME="admin"
export FILEMAKER_PASSWORD="your_secure_password"
# कस्टम पथ (वैकल्पिक)
export FILEMAKER_INSTALL_PATH="/custom/path/to/filemaker"
export BACKUP_DIRECTORY="/custom/backup/path"
स्क्रिप्ट निर्देशिका में .env फ़ाइल बनाएं:
# .env फ़ाइल (600 अनुमतियाँ होनी चाहिए)
FILEMAKER_USERNAME=admin
FILEMAKER_PASSWORD=your_secure_password
BACKUP_DIRECTORY=/custom/backup/path
महत्वपूर्ण: सुनिश्चित करें कि .env फ़ाइल में सुरक्षा के लिए प्रतिबंधात्मक अनुमतियाँ (600) हों।
यदि स्वचालित स्क्रिप्ट विफल हो जाती है, तो कमजोर JAR फ़ाइलों को बदलने के लिए इन मैन्युअल चरणों का पालन करें:
# fmsadmin का उपयोग करना (अनुशंसित)
& "C:\Program Files\FileMaker\FileMaker Server\Database Server\fmsadmin.exe" stop wpe -u admin -p password
# या सेवाओं का उपयोग करना
Stop-Service "FileMaker Server Web Publishing Engine"
# fmsadmin का उपयोग करना (अनुशंसित)
sudo "/Library/FileMaker Server/Database Server/bin/fmsadmin" stop wpe -u admin -p password
# या launchctl का उपयोग करना
sudo launchctl stop com.filemaker.wpe
# fmsadmin का उपयोग करना (अनुशंसित)
sudo "/opt/FileMaker/FileMaker Server/Database Server/bin/fmsadmin" stop wpe -u admin -p password
# या systemctl का उपयोग करना
sudo systemctl stop filemaker-wpe
$jarPath = "C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\jwpc-tomcat\webapps\ROOT\WEB-INF\lib"
$backupPath = "C:\Temp\jar-backup-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
New-Item -ItemType Directory -Path $backupPath
Copy-Item "$jarPath\commons-text-*.jar" $backupPath
Copy-Item "$jarPath\commons-lang3-*.jar" $backupPath
JAR_PATH="/Library/FileMaker Server/Web Publishing/publishing-engine/jwpc-tomcat/webapps/ROOT/WEB-INF/lib" # macOS
# JAR_PATH="/opt/FileMaker/FileMaker Server/Web Publishing/publishing-engine/jwpc-tomcat/webapps/ROOT/WEB-INF/lib" # उबंटू
BACKUP_PATH="/tmp/jar-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_PATH"
cp "$JAR_PATH"/commons-text-*.jar "$BACKUP_PATH/"
cp "$JAR_PATH"/commons-lang3-*.jar "$BACKUP_PATH/"
निम्नलिखित JAR फ़ाइलें अपाचे कॉमन्स से डाउनलोड करें:
आधिकारिक अपाचे कॉमन्स चेकसम के विरुद्ध चेकसम सत्यापित करें।
$jarPath = "C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\jwpc-tomcat\webapps\ROOT\WEB-INF\lib"
# पुरानी JAR फ़ाइलें हटाएं
Remove-Item "$jarPath\commons-text-*.jar"
Remove-Item "$jarPath\commons-lang3-*.jar"
# नई JAR फ़ाइलें कॉपी करें
Copy-Item "commons-text-1.11.0.jar" $jarPath
Copy-Item "commons-lang3-3.18.0.jar" $jarPath
JAR_PATH="/Library/FileMaker Server/Web Publishing/publishing-engine/jwpc-tomcat/webapps/ROOT/WEB-INF/lib" # macOS
# JAR_PATH="/opt/FileMaker/FileMaker Server/Web Publishing/publishing-engine/jwpc-tomcat/webapps/ROOT/WEB-INF/lib" # उबंटू
# पुरानी JAR फ़ाइलें हटाएं
sudo rm "$JAR_PATH"/commons-text-*.jar
sudo rm "$JAR_PATH"/commons-lang3-*.jar
# नई JAR फ़ाइलें कॉपी करें
sudo cp commons-text-1.11.0.jar "$JAR_PATH/"
sudo cp commons-lang3-3.18.0.jar "$JAR_PATH/"
# उचित अनुमतियाँ सेट करें
sudo chown fmserver:fmsadmin "$JAR_PATH"/commons-*.jar # आवश्यकतानुसार स्वामित्व समायोजित करें
sudo chmod 644 "$JAR_PATH"/commons-*.jar
# fmsadmin का उपयोग करना (अनुशंसित)
& "C:\Program Files\FileMaker\FileMaker Server\Database Server\fmsadmin.exe" start wpe -u admin -p password
# या सेवाओं का उपयोग करना
Start-Service "FileMaker Server Web Publishing Engine"
# fmsadmin का उपयोग करना (अनुशंसित)
sudo "/Library/FileMaker Server/Database Server/bin/fmsadmin" start wpe -u admin -p password
# या launchctl का उपयोग करना
sudo launchctl start com.filemaker.wpe
# fmsadmin का उपयोग करना (अनुशंसित)
sudo "/opt/FileMaker/FileMaker Server/Database Server/bin/fmsadmin" start wpe -u admin -p password
# या systemctl का उपयोग करना
sudo systemctl start filemaker-wpe
यदि स्वचालित स्क्रिप्ट विफल हो जाती है, तो इन मैन्युअल चरणों का पालन करें:
net stop "FileMaker Server"
sudo launchctl stop com.filemaker.fms
sudo service fmshelper stop
net start "FileMaker Server"
sudo launchctl start com.filemaker.fms
sudo service fmshelper start
logs\filemaker-jar-replacer-windows.loglogs/filemaker-jar-replacer-macos.loglogs/filemaker-jar-replacer-ubuntu.logइस परियोजना में सभी प्लेटफ़ॉर्म के लिए विश्वसनीयता और सुरक्षा सुनिश्चित करने के लिए व्यापक परीक्षण सूट शामिल हैं।
यह परियोजना प्रत्येक प्लेटफ़ॉर्म के लिए विभिन्न परीक्षण फ्रेमवर्क का उपयोग करती है:
macOS (होमब्रू का उपयोग करके):
brew install bats-core
उबंटू/डेबियन:
# पैकेज मैनेजर के माध्यम से स्थापित करें
sudo apt update
sudo apt install bats
# या स्रोत से नवीनतम संस्करण स्थापित करें
git clone https://github.com/bats-core/bats-core.git
cd bats-core
sudo ./install.sh /usr/local
मैन्युअल स्थापना (किसी भी Unix-जैसे सिस्टम पर):
git clone https://github.com/bats-core/bats-core.git
cd bats-core
sudo ./install.sh /usr/local
पेस्टर पावरशेल 5.1+ और विंडोज़ पावरशेल के साथ पूर्व-स्थापित आता है, लेकिन आप नवीनतम संस्करण में अपडेट करना चाह सकते हैं:
# वर्तमान संस्करण जांचें
Get-Module -Name Pester -ListAvailable
# नवीनतम संस्करण स्थापित/अपडेट करें (पावरशेल 5.1+)
Install-Module -Name Pester -Force -SkipPublisherCheck
# पावरशेल कोर (7+) के लिए
Install-Module -Name Pester -Scope CurrentUser
# विशिष्ट BATS परीक्षण फ़ाइल चलाएं (लिनक्स/macOS)
bats tests/backup-creation.bats
bats tests/version-detection.bats
# विशिष्ट पेस्टर परीक्षण फ़ाइल चलाएं (विंडोज़)
Invoke-Pester tests/windows/Integration.Tests.ps1
Invoke-Pester tests/windows/Utilities.Tests.ps1
# सभी BATS परीक्षण चलाएं (लिनक्स/macOS)
bats tests/*.bats
# सभी पेस्टर परीक्षण चलाएं (विंडोज़)
Invoke-Pester tests/windows/
परीक्षण सूट में शामिल हैं:
परीक्षण पृथक अस्थायी वातावरण बनाते हैं और आपके सिस्टम या फाइलमेकर इंस्टॉलेशन को प्रभावित नहीं करते हैं। हालांकि, कुछ परीक्षणों की आवश्यकता हो सकती है:
यह JAR रिप्लेसर CVE-2025-46295 को संबोधित करने के लिए जैसा है वैसा प्रदान किया गया है। अपने फाइलमेकर सर्वर लाइसेंस समझौते और अपाचे कॉमन्स लाइसेंस शर्तों के अनुसार उपयोग करें।