Add new vulnerability module for CVE-2025-57819#1504
Add new vulnerability module for CVE-2025-57819#1504sankalp-b1401 wants to merge 4 commits intoOWASP:masterfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
Summary by CodeRabbit
WalkthroughAdds a new vulnerability YAML module Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/Modules.md`:
- Line 164: The Scan Modules list in the docs is missing the new module; add an
entry for 'geoserver_version_scan' alongside the existing entries (e.g., the
line with '**sangoma_freepbx_cve_2025_57819_vuln**') so the documentation
reflects the new scan module added by this PR; update the Scan Modules section
to include '**geoserver_version_scan**' with a short description matching the
format of other entries.
In `@nettacker/modules/scan/geoserver_version.yaml`:
- Around line 6-7: Populate the info.reference field in geoserver_version.yaml
with at least one concrete URL pointing to a source for the Geoserver version
detection logic (for example an official Geoserver docs page, CVE reference, or
the blog/article you used). Edit the info block where "reference:" is currently
empty and add a valid HTTP(S) URL string so the module's provenance follows
Nettacker conventions and other HTTP modules' patterns.
In `@nettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml`:
- Around line 29-31: The User-Agent header uses the non-canonical templating "{{
user_agent }}" which differs from the project's canonical "{user_agent}"
placeholder; update the headers -> User-Agent value to use the single-brace
placeholder "{user_agent}" (no extra spaces or double braces) so it matches
other modules and prevents placeholder rendering inconsistencies.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e6d8058e-242c-44b0-8c67-148db74aa538
📒 Files selected for processing (3)
docs/Modules.mdnettacker/modules/scan/geoserver_version.yamlnettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml
755ad9f to
ad1f08e
Compare
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
nettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml (1)
30-30:⚠️ Potential issue | 🟠 MajorUse canonical User-Agent placeholder to restore runtime substitution.
Line 30 uses
"{ user_agent }"(with spaces), which is rendered literally instead of being substituted. Please switch it back to"{user_agent}".Suggested fix
- User-Agent: "{ user_agent }" + User-Agent: "{user_agent}"#!/bin/bash # Verify placeholder style consistency and detect non-canonical spacing # Expected: # 1) Canonical form appears widely: "{user_agent}" # 2) This file currently has "{ user_agent }" and should be corrected. echo "== Canonical User-Agent placeholders in vuln modules ==" rg -nP --type=yaml 'User-Agent:\s*"\{user_agent\}"' nettacker/modules/vuln -C1 echo echo "== Non-canonical spaced placeholder occurrences ==" rg -nP --type=yaml 'User-Agent:\s*"\{\s+user_agent\s+\}"' nettacker/modules/vuln -C1Based on learnings: Every HTTP step should use
headers.User-Agent: "{user_agent}"in Nettacker YAML modules.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@nettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml` at line 30, Replace the non-canonical spaced User-Agent placeholder in the YAML payload so runtime substitution works: change the header value from "{ user_agent }" to the canonical "{user_agent}" in the headers.User-Agent entry (look for the User-Agent line in the sangoma_freepbx_cve_2025_57819.yaml file).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@nettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml`:
- Line 30: Replace the non-canonical spaced User-Agent placeholder in the YAML
payload so runtime substitution works: change the header value from "{
user_agent }" to the canonical "{user_agent}" in the headers.User-Agent entry
(look for the User-Agent line in the sangoma_freepbx_cve_2025_57819.yaml file).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: a2ed2561-0a33-4d1b-92b1-74efdd3c7978
📒 Files selected for processing (2)
docs/Modules.mdnettacker/modules/vuln/sangoma_freepbx_cve_2025_57819.yaml
Proposed change
Your PR description goes here:
CVE-2025-57819 is a critical vulnerability (CVSS: 9.8) in Sangoma FreePBX Web GUI
v. 15, 16, 17. It allows unauthenticated user to perform SQL injection via theendpointmanager module (due to improper input sanitization) and modify theuserorcron_jobDB, which can lead to RCE and even root-level privilege escalation.Type of change
Checklist
make pre-commitand confirm it didn't generate any warnings/changesmake testand I confirm all tests passed locallydocs/folder