summaryrefslogtreecommitdiff
path: root/rt/lib/RT/ObjectCustomFieldValue_Overlay.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-06-01 17:15:27 -0700
committerIvan Kohler <ivan@freeside.biz>2012-06-01 17:15:27 -0700
commitcbb4c260c40779ba84c794dd68147c54f3de2f52 (patch)
tree2be7909d11386d157240b48ac4ce5ff878adfa1f /rt/lib/RT/ObjectCustomFieldValue_Overlay.pm
parentd4617c6565d5fc6bafe14d11c19646b0674ae73d (diff)
RT 3.8.13
Diffstat (limited to 'rt/lib/RT/ObjectCustomFieldValue_Overlay.pm')
-rw-r--r--rt/lib/RT/ObjectCustomFieldValue_Overlay.pm9
1 files changed, 6 insertions, 3 deletions
diff --git a/rt/lib/RT/ObjectCustomFieldValue_Overlay.pm b/rt/lib/RT/ObjectCustomFieldValue_Overlay.pm
index 403d216ce..d140d9303 100644
--- a/rt/lib/RT/ObjectCustomFieldValue_Overlay.pm
+++ b/rt/lib/RT/ObjectCustomFieldValue_Overlay.pm
@@ -175,6 +175,9 @@ content, try "LargeContent"
sub Content {
my $self = shift;
my $content = $self->SUPER::Content;
+
+ return undef unless $self->CustomFieldObj->CurrentUserHasRight('SeeCustomField');
+
if ( !(defined $content && length $content) && $self->ContentType && $self->ContentType eq 'text/plain' ) {
return $self->LargeContent;
} else {
@@ -253,11 +256,11 @@ sub _FillInTemplateURL {
# special case, whole value should be an URL
if ( $url =~ /^__CustomField__/ ) {
my $value = $self->Content;
- # protect from javascript: URLs
- if ( $value =~ /^\s*javascript:/i ) {
+ # protect from potentially malicious URLs
+ if ( $value =~ /^\s*(?:javascript|data):/i ) {
my $object = $self->Object;
$RT::Logger->error(
- "Dangerouse value with JavaScript in custom field '". $self->CustomFieldObj->Name ."'"
+ "Potentially dangerous URL type in custom field '". $self->CustomFieldObj->Name ."'"
." on ". ref($object) ." #". $object->id
);
return undef;