Creators
Details
Licensed ARR
Published 9 months ago
Updated 10 months ago
All versions
1.0.1
Release
WERM 1.0.110 months ago 25
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
[1.0.1] - 2025-12-27
๐ Security Hardening Release
This release focuses on comprehensive security improvements based on a full security audit.
Added
Security Features
- Command Validator - New
CommandValidator.javablocks dangerous commands (op, deop, ban, stop, reload, whitelist, etc.) from being executed via deliveries - Delivery Confirmation Queue - New
DeliveryConfirmationQueue.javapersists pending confirmations to survive server restarts - TLS 1.2+ Enforcement - All API connections now require TLS 1.2 or higher
- Debug Log Redaction - Sensitive data (tokens, UUIDs, delivery IDs) automatically redacted in debug logs
- Input Sanitization - Player names and UUIDs sanitized before command placeholder substitution
- API Endpoint Validation - HTTPS requirement and domain whitelist enforcement
- Verification Rate Limiting - 5-second cooldown between
/werm verifyattempts - IP Change Detection - Backend logs security events when tokens are used from new IPs
- Configurable Fallback - Fallback endpoints now require explicit opt-in (disabled by default)
- Auto-Discovery - Appwrite Project ID now auto-discovered from API
/configendpoint
Admin Dashboard
- Audit Logs Page - New page in admin dashboard to view security events
Changed
- Removed hardcoded Appwrite Project ID from
VerificationAPI.java - Improved error handling for SSL/TLS connections
- Enhanced debug logging with automatic data redaction
Security Fixes
- CVE-like Fixes:
- Command injection via delivery commands (Critical)
- Debug mode exposing sensitive tokens (High)
- No rate limiting on verification attempts (Medium)
- Delivery confirmation atomicity issues (Medium)
- Player name injection in commands (Medium)
- Hardcoded project ID (High)
- SSL certificate validation (High)
- Unconfigured fallback endpoints (Low)
- No endpoint validation (Low)
Files Added
CommandValidator.java- Command blacklist and pattern validationDeliveryConfirmationQueue.java- Persistent confirmation queue
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:JfqCmMXn:lWKTjqZ8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JfqCmMXn:lWKTjqZ8"
}

