CVE-2019-19999:Halo before 1.2.0-beta.1 allows Server Side Template Injection (SSTI) due to FreeMarker configuration not using SAFER_RESOLVER.

splash
Back

Description Preview

This vulnerability affects Halo prior to version 1.2.0-beta.1. Server Side Template Injection (SSTI) is possible because TemplateClassResolver.SAFER_RESOLVER is not applied in the FreeMarker configuration, enabling potential injection of template expressions on the server.

Overview

Halo versions prior to 1.2.0-beta.1 contain a Server-Side Template Injection (SSTI) vulnerability in the FreeMarker configuration because TemplateClassResolver.SAFER_RESOLVER is not utilized. This allows an attacker to craft input that is rendered by FreeMarker templates, potentially leading to manipulation of rendered content and, in some contexts, execution of unintended template code on the server. The issue was addressed in the 1.2.0-beta.1 release, and upgrading to a newer version is recommended to mitigate the vulnerability.

Remediation

  • Upgrade Halo to version 1.2.0-beta.1 or newer where the fix is implemented.
  • If upgrading is not immediately possible, apply compensating controls:
    • Ensure FreeMarker is configured to use SAFER_RESOLVER (TemplateClassResolver.SAFER_RESOLVER) in your template engine configuration.
    • Restrict access to sensitive classes from template rendering and avoid rendering untrusted input in templates.
    • Review all templates and any dynamic template rendering paths to ensure they do not expose unsafe operations.
  • Validate mitigation by performing controlled SSTI tests against template rendering in a non-production environment.
  • Monitor for security advisories and promptly apply patches when available.

References

  • https://github.com/halo-dev/halo/issues/419
  • https://github.com/halo-dev/halo/issues/440
  • https://github.com/halo-dev/halo/compare/v1.1.3-beta.2...v1.2.0-beta.1

Industry ExposureMost to least
This section illustrates the prevalence of a specific Common Vulnerabilities and Exposures (CVE) across various industries based on customer reports. The ranking displays industries from the most to least affected by this particular vulnerability, offering valuable insight into where this CVE has been most frequently observed. This information can help organizations within these sectors prioritize their security efforts, understand their relative risk exposure compared to their peers, and focus remediation strategies where they are most needed. By understanding the industry-specific impact, organizations can make more informed decisions regarding patching, resource allocation, and overall risk management related to this CVE.

  1. Manufacturing: Low
    Manufacturing
  2. Public Administration: Low
    Public Administration
  3. Health Care & Social Assistance: Low
    Health Care & Social Assistance
  4. Transportation & Warehousing: Low
    Transportation & Warehousing
  5. Educational Services: Low
    Educational Services
  6. Other Services (except Public Administration): Low
    Other Services (except Public Administration)
  7. Professional, Scientific, & Technical Services: Low
    Professional, Scientific, & Technical Services
  8. Arts, Entertainment & Recreation: Low
    Arts, Entertainment & Recreation
  9. Finance and Insurance: Low
    Finance and Insurance
  10. Information: Low
    Information
  11. Retail Trade: Low
    Retail Trade
  12. Accommodation & Food Services: Low
    Accommodation & Food Services
  13. Administrative, Support, Waste Management & Remediation Services: Low
    Administrative, Support, Waste Management & Remediation Services
  14. Agriculture, Forestry Fishing & Hunting: Low
    Agriculture, Forestry Fishing & Hunting
  15. Construction: Low
    Construction
  16. Management of Companies & Enterprises: Low
    Management of Companies & Enterprises
  17. Mining: Low
    Mining
  18. Real Estate Rental & Leasing: Low
    Real Estate Rental & Leasing
  19. Utilities: Low
    Utilities
  20. Wholesale Trade: Low
    Wholesale Trade

Focus on What Matters

  1. See Everything.
  2. Identify True Risk.
  3. Proactively Mitigate Threats.

Let's talk!

background