Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • T TYPO3.CMS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • accessibilityaccessibility
  • TYPO3.CMS
  • Repository
Switch branch/tag
  • TYPO3.CMS
  • ..
  • 9.5.x
  • Important-94492-IntroduceSVGSanitizer...
Find file BlameHistoryPermalink
  • Oliver Hader's avatar
    [TASK] Introduce SVG Sanitizer · c506e6fb
    Oliver Hader authored Jul 11, 2021 and Oliver Hader's avatar Oliver Hader committed Jul 12, 2021
    This change introduces behavior of extension `t3g/svg-sanitizer` into
    the TYPO3 core. Sanitizing SVG data is actually done by external package
    `enshrined/svg-sanitize` by Daryll Doyle.
    
    The following aspects are introduced:
    + handle `GeneralUtility::upload_copy_move` invocations
    + handle FAL action events `file-add`, `file-replace`, `set-content`
    + provide upgrade wizard, sanitizing all SVG files in storages that
      are using `LocalDriver`
    
    Custom usage:
    ```
    $sanitizer = new \TYPO3\CMS\Core\Resource\Security\SvgSanitizer();
    $sanitizer->sanitizeFile($sourcePath, $targetPath);
    $svg = $sanitizer->sanitizeContent($svg);
    ```
    
    Basically this change enforces following public service announcements
    concerning SVG files, to enhance these security aspects per default:
    + https://typo3.org/security/advisory/typo3-psa-2020-003
    + https://typo3.org/security/advisory/typo3-psa-2019-010
    
    Resolves: #94492
    Releases: master, 10.4, 9.5
    Change-Id: I42c206190d8a335ebaf77b7e5d57b383e3bcbae1
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69809
    
    
    Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
    Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
    Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
    Tested-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
    Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
    Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
    Reviewed-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
    c506e6fb