When [[MediaWiki:Nimbus-advertise-url]] exists and is not disabled (i.e. its value is not -), an "Advertise" link ([[MediaWiki:Nimbus-advertise]]) will show up in the skin's footer, and the target of this link is the URL configured in [[MediaWiki:Nimbus-advertise-url]].
Unfortunately both messages are currently vulnerable to the easiest possible XSS you can think of: "><script>alert('XSS')</script>
Here's a quick, tested patch to fix that:
@@ -76,10 +104,10 @@ class SkinNimbus extends SkinTemplate { */ function advertiseLink() { $link = ''; - $adMsg = wfMessage( 'nimbus-advertise-url' )->inContentLanguage(); - if ( !$adMsg->isDisabled() ) { + $adMsg = $this->msg( 'nimbus-advertise-url' )->inContentLanguage(); + if ( !$adMsg->isDisabled() && filter_var( $adMsg->text(), FILTER_VALIDATE_URL ) ) { $link = '<a href="' . $adMsg->text() . '" rel="nofollow">' . - wfMessage( 'nimbus-advertise' )->plain() . '</a>'; + $this->msg( 'nimbus-advertise' )->escaped() . '</a>'; } return $link; }
(The RequestContext-ification is not related to the security aspect, but I figured I might as well do that while I'm editing this portion of the code. Also, line numbers etc. are probably off, given that my local copy of Nimbus has a lot of uncommitted changes.)