Drupal security updates, in plain English · Module

UI Patterns (SDC in Drupal UI)

8,480 sites report using it · on drupal.org · 1 security update explained here

This module allows site builders to use self contained design components when creating pages and layouts.

Below is every security update for UI Patterns (SDC in Drupal UI) that this site has covered, newest first. Each one says who could exploit it, whether it applies to your site, how urgent it is, and what to tell your developer. If your site uses this module and you are not sure which version, that is the first question to ask whoever looks after it.

UI Patterns (SDC in Drupal UI)

Moderately critical · 8,480 sites report using it · SA-CONTRIB-2026-075 · on drupal.org · Week of 8 July 2026

The module does not properly clean the code passed to design components. An ordinary account on the site could use this to read some restricted data and change or add some data.

  • Who could do thisOnly someone with a login on your site.
  • Does it apply to youThis applies if an attacker can create or update content displayed by the module.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this moderately critical. Include it in your next routine update, within the month.

Tell your developerUpdate UI Patterns (SDC in Drupal UI) to 2.0.17.

For developers: what the fix changed

The fix improves markup sanitisation by escaping untrusted strings in `LinksPropType`, `StringPropType`, `FieldPropertySource`, and `TokenSource`, and by using `#plain_text` instead of `#children` with `Markup::create()` for plain strings in `SlotPropType`. It also overrides Twig's `include()` function in `TwigExtension` to return a `Markup` object for consistent trust boundaries.

Also in this release The release also refactored plugin managers, added a `no_ui` property to sources, introduced a `SourceTags` enum, and improved test performance.

2.0.16 to 2.0.17 10 commits, 128 files including 80 tests.

  • .cspell-project-words.txt +1 −0
  • .gitlab-ci.yml +4 −1
  • composer.json +3 −0
  • config/schema/ui_patterns.schema.yml +12 −1
  • config/schema/ui_patterns.sources.schema.yml +19 −0
  • modules/ui_patterns_field/src/Plugin/Derivative/UIPatternsSourceFieldPropertySourceDeriver.php +1 −1
  • modules/ui_patterns_field/src/Plugin/Field/FieldType/SourceValueItem.php +14 −1
  • modules/ui_patterns_field/src/Plugin/Field/FieldWidget/SourceComponentWidget.php +2 −1
  • modules/ui_patterns_field_formatters/config/schema/ui_patterns_field_formatters.sources.schema.yml +0 −18
  • modules/ui_patterns_views/src/Plugin/UiPatterns/Source/ViewFieldSource.php +0 −1
  • modules/ui_patterns_views/src/Plugin/UiPatterns/Source/ViewRowsSource.php +1 −1
  • src/Attribute/Source.php +4 −0

Full diff, 2.0.16 to 2.0.17

The comparison is against the release immediately before the fix. If your site is on an older release, more will have changed.

Not sure what your site is running?

Send me your Drupal site's address.

I'll tell you what I can see from outside, what the Drupal 10 end of life on 9 December means for it, and what it would cost to have me keep it patched. There's no charge for that and no obligation. peter@peterbrady.co.uk


Get in touch

Tell me who you are, what your organisation does, and what you need. That might be a Drupal site that needs looking after, an upgrade to get done before December, or an agency that needs Drupal cover.

If I can help, I'll say so and suggest a call. If I can't, I'll tell you straight away rather than waste your time.

peter@peterbrady.co.uk

For context: I work mainly with UK charities, membership bodies and research organisations, and with the agencies that look after their websites. Not recruiters.

Or start smaller and connect with me on LinkedIn. That's where I post what I find digging around in charity and grants data, and where the free tools turn up first.