@designofadecade/server 4.1.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+ - Added missing package.json exports for submodules (sanitizer, server, router, logger, etc.)
12
+ - Resolves ERR_PACKAGE_PATH_NOT_EXPORTED error when importing subpaths
13
+ - Enables direct imports like `@designofadecade/server/sanitizer`
14
+
15
+ ### Added
16
+ - HtmlSanitizer now supports preserving specific attributes on allowed tags via optional `allowedAttributes` parameter
17
+ - Enables granular control over which attributes are preserved on each tag
18
+ - Maintains all existing security features (event handler blocking, URL validation, etc.)
19
+ - Includes CSS style attribute validation with safe color property support
20
+ - Useful for preserving class names, data attributes, and inline styles for email rendering and compliance tracking
21
+ - Fully backward compatible - existing code continues to work without changes
22
+
10
23
  ## [4.1.0] - 2026-03-12
11
24
 
12
25
  ### Changed
@@ -43,9 +43,11 @@ export default class HtmlSanitizer {
43
43
  * - Removes HTML comments, script, and style tags
44
44
  * - Enforces DoS protection with size limits
45
45
  * - Validates allowed tags is a valid array
46
+ * - Supports preserving specific attributes on allowed tags
46
47
  *
47
48
  * @param html - The HTML string to clean
48
49
  * @param allowedTags - Array of allowed tag names (case-insensitive)
50
+ * @param allowedAttributes - Optional object mapping tag names to arrays of allowed attribute names
49
51
  * @returns Sanitized HTML string with only allowed tags
50
52
  *
51
53
  * @example
@@ -61,8 +63,17 @@ export default class HtmlSanitizer {
61
63
  * @example
62
64
  * // Allow common formatting tags
63
65
  * HtmlSanitizer.clean(userInput, ['p', 'br', 'strong', 'em', 'a', 'ul', 'ol', 'li']);
66
+ *
67
+ * @example
68
+ * // Allow specific attributes on tags
69
+ * HtmlSanitizer.clean(html, ['span', 'a'], {
70
+ * span: ['style', 'class', 'data-uuid'],
71
+ * a: ['href', 'target', 'rel']
72
+ * });
73
+ * // Input: '<span class="legal-tag" data-uuid="123" onclick="alert()">Text</span>'
74
+ * // Output: '<span class="legal-tag" data-uuid="123">Text</span>'
64
75
  */
65
- static clean(html: string, allowedTags: string[]): string;
76
+ static clean(html: string, allowedTags: string[], allowedAttributes?: Record<string, string[]>): string;
66
77
  /**
67
78
  * Sanitizes basic HTML content by allowing only b, i, u, and a tags.
68
79
  * Common use case for simple user-generated content.
@@ -180,6 +191,43 @@ export default class HtmlSanitizer {
180
191
  * // Returns: true
181
192
  */
182
193
  static isValidUrl(url: string): boolean;
194
+ /**
195
+ * Sanitizes CSS style attribute values to prevent XSS attacks.
196
+ * Only allows safe inline color styles for the current use case.
197
+ *
198
+ * Security Features:
199
+ * - Strips potentially dangerous CSS properties (behavior, -moz-binding, etc.)
200
+ * - Validates color values (hex, rgb, rgba, named colors)
201
+ * - Removes expressions and url() functions that could load external content
202
+ * - Blocks @import and other directives
203
+ * - Limits to safe CSS properties for inline styling
204
+ *
205
+ * @param style - The style attribute value to sanitize
206
+ * @returns Sanitized style string or empty string if invalid
207
+ *
208
+ * @example
209
+ * HtmlSanitizer.sanitizeStyleAttribute('color: red; background: blue;');
210
+ * // Returns: 'color: red'
211
+ *
212
+ * @example
213
+ * HtmlSanitizer.sanitizeStyleAttribute('color: #ff0000; behavior: url(xss.htc);');
214
+ * // Returns: 'color: #ff0000' (dangerous property removed)
215
+ */
216
+ static sanitizeStyleAttribute(style: string): string;
217
+ /**
218
+ * Validates if a CSS color value is safe.
219
+ * Allows hex colors, rgb/rgba, and named colors.
220
+ *
221
+ * @param value - The color value to validate
222
+ * @returns True if the color value is safe, false otherwise
223
+ *
224
+ * @example
225
+ * HtmlSanitizer.isValidColorValue('#ff0000'); // true
226
+ * HtmlSanitizer.isValidColorValue('rgb(255, 0, 0)'); // true
227
+ * HtmlSanitizer.isValidColorValue('red'); // true
228
+ * HtmlSanitizer.isValidColorValue('javascript:alert(1)'); // false
229
+ */
230
+ static isValidColorValue(value: string): boolean;
183
231
  /**
184
232
  * Validates if an email address is properly formatted.
185
233
  * Performs comprehensive email validation following RFC 5321/5322 standards.
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AA4DD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IA4NzD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM;IA4CT;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkCzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2BjD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA6B5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA+EvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAuI3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAqFhD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG"}
1
+ {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AA4DD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,MAAM,CAAC,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC3C,MAAM;IAyVT;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM;IA4CT;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAkCzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2BjD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA6B5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA+EvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA8FpD;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAmDhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAuI3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAqFhD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG"}
@@ -91,9 +91,11 @@ export default class HtmlSanitizer {
91
91
  * - Removes HTML comments, script, and style tags
92
92
  * - Enforces DoS protection with size limits
93
93
  * - Validates allowed tags is a valid array
94
+ * - Supports preserving specific attributes on allowed tags
94
95
  *
95
96
  * @param html - The HTML string to clean
96
97
  * @param allowedTags - Array of allowed tag names (case-insensitive)
98
+ * @param allowedAttributes - Optional object mapping tag names to arrays of allowed attribute names
97
99
  * @returns Sanitized HTML string with only allowed tags
98
100
  *
99
101
  * @example
@@ -109,8 +111,17 @@ export default class HtmlSanitizer {
109
111
  * @example
110
112
  * // Allow common formatting tags
111
113
  * HtmlSanitizer.clean(userInput, ['p', 'br', 'strong', 'em', 'a', 'ul', 'ol', 'li']);
114
+ *
115
+ * @example
116
+ * // Allow specific attributes on tags
117
+ * HtmlSanitizer.clean(html, ['span', 'a'], {
118
+ * span: ['style', 'class', 'data-uuid'],
119
+ * a: ['href', 'target', 'rel']
120
+ * });
121
+ * // Input: '<span class="legal-tag" data-uuid="123" onclick="alert()">Text</span>'
122
+ * // Output: '<span class="legal-tag" data-uuid="123">Text</span>'
112
123
  */
113
- static clean(html, allowedTags) {
124
+ static clean(html, allowedTags, allowedAttributes) {
114
125
  // ====================================================================
115
126
  // Step 1: Input Validation
116
127
  // ====================================================================
@@ -158,6 +169,37 @@ export default class HtmlSanitizer {
158
169
  return this.stripAllTags(html);
159
170
  }
160
171
  // ====================================================================
172
+ // Step 2.5: Validate and Normalize Allowed Attributes
173
+ // ====================================================================
174
+ let normalizedAllowedAttributes = null;
175
+ if (allowedAttributes && typeof allowedAttributes === 'object') {
176
+ normalizedAllowedAttributes = {};
177
+ for (const [tagName, attrs] of Object.entries(allowedAttributes)) {
178
+ const lowerTag = tagName.toLowerCase();
179
+ // Skip if not in validAllowedTags
180
+ if (!validAllowedTags.includes(lowerTag)) {
181
+ logger.warn('Skipping attributes for tag not in allowed list', {
182
+ code: 'SANITIZER_ATTRIBUTES_FOR_DISALLOWED_TAG',
183
+ source: 'HtmlSanitizer.clean',
184
+ tag: lowerTag,
185
+ });
186
+ continue;
187
+ }
188
+ if (Array.isArray(attrs)) {
189
+ const validAttrs = attrs
190
+ .filter((attr) => typeof attr === 'string' && attr.length > 0)
191
+ .map((attr) => attr.toLowerCase());
192
+ if (validAttrs.length > 0) {
193
+ normalizedAllowedAttributes[lowerTag] = new Set(validAttrs);
194
+ }
195
+ }
196
+ }
197
+ // If no valid attributes were found, set to null
198
+ if (Object.keys(normalizedAllowedAttributes).length === 0) {
199
+ normalizedAllowedAttributes = null;
200
+ }
201
+ }
202
+ // ====================================================================
161
203
  // Step 3: DoS Protection
162
204
  // ====================================================================
163
205
  if (html.length > MAX_INPUT_SIZE) {
@@ -230,39 +272,120 @@ export default class HtmlSanitizer {
230
272
  }
231
273
  // Detect self-closing tags
232
274
  const isSelfClosing = match.endsWith('/>');
233
- // Special handling for anchor tags - validate URLs and add security attributes
234
- if (lowerTagName === 'a') {
235
- const hrefMatch = match.match(/href\s*=\s*["']([^"']*)["']/i);
236
- if (hrefMatch && hrefMatch[1]) {
237
- const url = hrefMatch[1].trim();
238
- // Validate URL for security
239
- if (this.isValidUrl(url)) {
240
- // Escape the URL to prevent attribute injection
241
- const escapedUrl = this.sanitizeForAttribute(url);
242
- // SECURITY: Add target="_blank" and rel="noopener noreferrer" for external links
243
- // This prevents tab nabbing attacks and ensures the new page can't access window.opener
244
- const isExternal = /^https?:\/\//i.test(url);
245
- const securityAttrs = isExternal ? ' target="_blank" rel="noopener noreferrer"' : '';
246
- return `<a href="${escapedUrl}"${securityAttrs}>`;
247
- }
248
- else {
249
- // Invalid URL - remove href but keep anchor tag
250
- logger.warn('Unsafe URL removed from anchor tag', {
251
- code: 'SANITIZER_UNSAFE_URL',
275
+ // Extract and process attributes if allowedAttributes is specified
276
+ const preservedAttributes = [];
277
+ const allowedAttrsForTag = normalizedAllowedAttributes?.[lowerTagName];
278
+ if (allowedAttrsForTag) {
279
+ // Extract all attributes from the tag
280
+ const attrRegex = /([a-z][a-z0-9-]*)\s*=\s*["']([^"']*)["']/gi;
281
+ let attrMatch;
282
+ while ((attrMatch = attrRegex.exec(match)) !== null) {
283
+ const attrName = attrMatch[1].toLowerCase();
284
+ const attrValue = attrMatch[2];
285
+ // Skip event handlers (onclick, onerror, etc.)
286
+ if (attrName.startsWith('on')) {
287
+ logger.warn('Event handler attribute removed', {
288
+ code: 'SANITIZER_EVENT_HANDLER_REMOVED',
252
289
  source: 'HtmlSanitizer.clean',
253
- url,
290
+ attribute: attrName,
254
291
  });
255
- return '<a>';
292
+ continue;
293
+ }
294
+ // Check if this attribute is allowed for this tag
295
+ if (allowedAttrsForTag.has(attrName)) {
296
+ // Special handling for href attribute - must validate URL
297
+ if (attrName === 'href') {
298
+ const url = attrValue.trim();
299
+ if (this.isValidUrl(url)) {
300
+ const escapedUrl = this.sanitizeForAttribute(url);
301
+ preservedAttributes.push(`href="${escapedUrl}"`);
302
+ }
303
+ else {
304
+ logger.warn('Unsafe URL removed from href attribute', {
305
+ code: 'SANITIZER_UNSAFE_HREF',
306
+ source: 'HtmlSanitizer.clean',
307
+ url,
308
+ });
309
+ }
310
+ }
311
+ // Special handling for style attribute - validate CSS
312
+ else if (attrName === 'style') {
313
+ const sanitizedStyle = this.sanitizeStyleAttribute(attrValue);
314
+ if (sanitizedStyle) {
315
+ preservedAttributes.push(`style="${sanitizedStyle}"`);
316
+ }
317
+ }
318
+ // For other allowed attributes, sanitize the value
319
+ else {
320
+ const escapedValue = this.sanitizeForAttribute(attrValue);
321
+ preservedAttributes.push(`${attrName}="${escapedValue}"`);
322
+ }
323
+ }
324
+ }
325
+ }
326
+ // Special handling for anchor tags - validate URLs and add security attributes
327
+ if (lowerTagName === 'a') {
328
+ // If we haven't already handled href through allowedAttributes, handle it the old way
329
+ if (!allowedAttrsForTag?.has('href')) {
330
+ const hrefMatch = match.match(/href\s*=\s*["']([^"']*)["']/i);
331
+ if (hrefMatch && hrefMatch[1]) {
332
+ const url = hrefMatch[1].trim();
333
+ // Validate URL for security
334
+ if (this.isValidUrl(url)) {
335
+ // Escape the URL to prevent attribute injection
336
+ const escapedUrl = this.sanitizeForAttribute(url);
337
+ preservedAttributes.push(`href="${escapedUrl}"`);
338
+ // SECURITY: Add target="_blank" and rel="noopener noreferrer" for external links
339
+ // This prevents tab nabbing attacks and ensures the new page can't access window.opener
340
+ const isExternal = /^https?:\/\//i.test(url);
341
+ if (isExternal) {
342
+ // Only add these if not already in preservedAttributes
343
+ if (!preservedAttributes.some((attr) => attr.startsWith('target='))) {
344
+ preservedAttributes.push('target="_blank"');
345
+ }
346
+ if (!preservedAttributes.some((attr) => attr.startsWith('rel='))) {
347
+ preservedAttributes.push('rel="noopener noreferrer"');
348
+ }
349
+ }
350
+ }
351
+ else {
352
+ // Invalid URL - remove href but keep anchor tag
353
+ logger.warn('Unsafe URL removed from anchor tag', {
354
+ code: 'SANITIZER_UNSAFE_URL',
355
+ source: 'HtmlSanitizer.clean',
356
+ url,
357
+ });
358
+ }
256
359
  }
257
360
  }
258
361
  else {
259
- // No href attribute found
260
- return '<a>';
362
+ // If href was handled through allowedAttributes, still add security attributes for external links
363
+ const hrefAttr = preservedAttributes.find((attr) => attr.startsWith('href='));
364
+ if (hrefAttr) {
365
+ const urlMatch = hrefAttr.match(/href="([^"]*)"/);
366
+ if (urlMatch) {
367
+ const url = urlMatch[1];
368
+ const isExternal = /^https?:\/\//i.test(url);
369
+ if (isExternal) {
370
+ if (!preservedAttributes.some((attr) => attr.startsWith('target='))) {
371
+ preservedAttributes.push('target="_blank"');
372
+ }
373
+ if (!preservedAttributes.some((attr) => attr.startsWith('rel='))) {
374
+ preservedAttributes.push('rel="noopener noreferrer"');
375
+ }
376
+ }
377
+ }
378
+ }
261
379
  }
262
380
  }
263
381
  // Handle self-closing tags (br, hr, img)
264
382
  if (isSelfClosing && ['br', 'hr', 'img'].includes(lowerTagName)) {
265
- return `<${lowerTagName} />`;
383
+ const attrString = preservedAttributes.length > 0 ? ' ' + preservedAttributes.join(' ') : '';
384
+ return `<${lowerTagName}${attrString} />`;
385
+ }
386
+ // Build the tag with preserved attributes
387
+ if (preservedAttributes.length > 0) {
388
+ return `<${lowerTagName} ${preservedAttributes.join(' ')}>`;
266
389
  }
267
390
  // For all other allowed tags, return simple opening tag
268
391
  return `<${lowerTagName}>`;
@@ -589,6 +712,166 @@ export default class HtmlSanitizer {
589
712
  }
590
713
  return true;
591
714
  }
715
+ /**
716
+ * Sanitizes CSS style attribute values to prevent XSS attacks.
717
+ * Only allows safe inline color styles for the current use case.
718
+ *
719
+ * Security Features:
720
+ * - Strips potentially dangerous CSS properties (behavior, -moz-binding, etc.)
721
+ * - Validates color values (hex, rgb, rgba, named colors)
722
+ * - Removes expressions and url() functions that could load external content
723
+ * - Blocks @import and other directives
724
+ * - Limits to safe CSS properties for inline styling
725
+ *
726
+ * @param style - The style attribute value to sanitize
727
+ * @returns Sanitized style string or empty string if invalid
728
+ *
729
+ * @example
730
+ * HtmlSanitizer.sanitizeStyleAttribute('color: red; background: blue;');
731
+ * // Returns: 'color: red'
732
+ *
733
+ * @example
734
+ * HtmlSanitizer.sanitizeStyleAttribute('color: #ff0000; behavior: url(xss.htc);');
735
+ * // Returns: 'color: #ff0000' (dangerous property removed)
736
+ */
737
+ static sanitizeStyleAttribute(style) {
738
+ if (!style || typeof style !== 'string') {
739
+ return '';
740
+ }
741
+ // Trim whitespace
742
+ style = style.trim();
743
+ if (style.length === 0) {
744
+ return '';
745
+ }
746
+ // DoS protection
747
+ if (style.length > 1024) {
748
+ logger.warn('Style attribute exceeds maximum length', {
749
+ code: 'SANITIZER_STYLE_TOO_LONG',
750
+ source: 'HtmlSanitizer.sanitizeStyleAttribute',
751
+ length: style.length,
752
+ });
753
+ return '';
754
+ }
755
+ // For our use case, only allow color-related properties
756
+ const allowedProperties = ['color', 'background-color'];
757
+ // Split style into individual declarations
758
+ const declarations = style
759
+ .split(';')
760
+ .map((decl) => decl.trim())
761
+ .filter(Boolean);
762
+ const sanitizedDeclarations = [];
763
+ for (const declaration of declarations) {
764
+ const colonIndex = declaration.indexOf(':');
765
+ if (colonIndex === -1)
766
+ continue;
767
+ const property = declaration.substring(0, colonIndex).trim().toLowerCase();
768
+ const value = declaration.substring(colonIndex + 1).trim();
769
+ // Only allow whitelisted properties
770
+ if (!allowedProperties.includes(property)) {
771
+ logger.warn('Disallowed CSS property filtered out', {
772
+ code: 'SANITIZER_DISALLOWED_CSS_PROPERTY',
773
+ source: 'HtmlSanitizer.sanitizeStyleAttribute',
774
+ property,
775
+ });
776
+ continue;
777
+ }
778
+ // Check for dangerous patterns in the value
779
+ const dangerousPatterns = [
780
+ /javascript:/i,
781
+ /expression\s*\(/i,
782
+ /-moz-binding/i,
783
+ /behavior\s*:/i,
784
+ /@import/i,
785
+ /url\s*\(/i,
786
+ /data:/i,
787
+ ];
788
+ let hasDangerousPattern = false;
789
+ for (const pattern of dangerousPatterns) {
790
+ if (pattern.test(value)) {
791
+ logger.warn('Dangerous pattern detected in CSS value', {
792
+ code: 'SANITIZER_DANGEROUS_CSS_VALUE',
793
+ source: 'HtmlSanitizer.sanitizeStyleAttribute',
794
+ property,
795
+ });
796
+ hasDangerousPattern = true;
797
+ break;
798
+ }
799
+ }
800
+ if (hasDangerousPattern) {
801
+ continue;
802
+ }
803
+ // Validate color value
804
+ if (this.isValidColorValue(value)) {
805
+ const escapedValue = this.sanitizeForAttribute(value);
806
+ sanitizedDeclarations.push(`${property}: ${escapedValue}`);
807
+ }
808
+ else {
809
+ logger.warn('Invalid color value in style attribute', {
810
+ code: 'SANITIZER_INVALID_COLOR_VALUE',
811
+ source: 'HtmlSanitizer.sanitizeStyleAttribute',
812
+ value,
813
+ });
814
+ }
815
+ }
816
+ return sanitizedDeclarations.join('; ');
817
+ }
818
+ /**
819
+ * Validates if a CSS color value is safe.
820
+ * Allows hex colors, rgb/rgba, and named colors.
821
+ *
822
+ * @param value - The color value to validate
823
+ * @returns True if the color value is safe, false otherwise
824
+ *
825
+ * @example
826
+ * HtmlSanitizer.isValidColorValue('#ff0000'); // true
827
+ * HtmlSanitizer.isValidColorValue('rgb(255, 0, 0)'); // true
828
+ * HtmlSanitizer.isValidColorValue('red'); // true
829
+ * HtmlSanitizer.isValidColorValue('javascript:alert(1)'); // false
830
+ */
831
+ static isValidColorValue(value) {
832
+ if (!value || typeof value !== 'string') {
833
+ return false;
834
+ }
835
+ value = value.trim();
836
+ // Hex color (#fff or #ffffff)
837
+ if (/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(value)) {
838
+ return true;
839
+ }
840
+ // RGB/RGBA color
841
+ if (/^rgba?\s*\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(\s*,\s*[0-9.]+)?\s*\)$/i.test(value)) {
842
+ return true;
843
+ }
844
+ // Named colors (common safe colors)
845
+ const namedColors = [
846
+ 'black',
847
+ 'white',
848
+ 'red',
849
+ 'green',
850
+ 'blue',
851
+ 'yellow',
852
+ 'orange',
853
+ 'purple',
854
+ 'pink',
855
+ 'brown',
856
+ 'gray',
857
+ 'grey',
858
+ 'cyan',
859
+ 'magenta',
860
+ 'lime',
861
+ 'navy',
862
+ 'teal',
863
+ 'aqua',
864
+ 'maroon',
865
+ 'olive',
866
+ 'silver',
867
+ 'fuchsia',
868
+ 'transparent',
869
+ ];
870
+ if (namedColors.includes(value.toLowerCase())) {
871
+ return true;
872
+ }
873
+ return false;
874
+ }
592
875
  /**
593
876
  * Validates if an email address is properly formatted.
594
877
  * Performs comprehensive email validation following RFC 5321/5322 standards.
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../src/sanitizer/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designofadecade/server",
3
- "version": "4.1.0",
3
+ "version": "4.2.1",
4
4
  "description": "Design of a Decade Server - A modern TypeScript server with WebSocket support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,6 +9,46 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.js"
12
+ },
13
+ "./sanitizer": {
14
+ "types": "./dist/sanitizer/HtmlSanitizer.d.ts",
15
+ "import": "./dist/sanitizer/HtmlSanitizer.js"
16
+ },
17
+ "./server": {
18
+ "types": "./dist/server/Server.d.ts",
19
+ "import": "./dist/server/Server.js"
20
+ },
21
+ "./router": {
22
+ "types": "./dist/router/Router.d.ts",
23
+ "import": "./dist/router/Router.js"
24
+ },
25
+ "./logger": {
26
+ "types": "./dist/logger/Logger.d.ts",
27
+ "import": "./dist/logger/Logger.js"
28
+ },
29
+ "./client": {
30
+ "types": "./dist/client/ApiClient.d.ts",
31
+ "import": "./dist/client/ApiClient.js"
32
+ },
33
+ "./context": {
34
+ "types": "./dist/context/Context.d.ts",
35
+ "import": "./dist/context/Context.js"
36
+ },
37
+ "./events": {
38
+ "types": "./dist/events/EventsManager.d.ts",
39
+ "import": "./dist/events/EventsManager.js"
40
+ },
41
+ "./websocket": {
42
+ "types": "./dist/websocket/WebSocketServer.d.ts",
43
+ "import": "./dist/websocket/WebSocketServer.js"
44
+ },
45
+ "./state": {
46
+ "types": "./dist/state/AppState.d.ts",
47
+ "import": "./dist/state/AppState.js"
48
+ },
49
+ "./utils": {
50
+ "types": "./dist/utils/HtmlRenderer.d.ts",
51
+ "import": "./dist/utils/HtmlRenderer.js"
12
52
  }
13
53
  },
14
54
  "scripts": {