homebridge-smartthings-oauth 1.0.66 → 1.0.67
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 +23 -0
- package/config.schema.json +7 -0
- package/dist/services/airConditionerService.d.ts.map +1 -1
- package/dist/services/airConditionerService.js +2 -2
- package/dist/services/airConditionerService.js.map +1 -1
- package/dist/services/airPurifierService.d.ts.map +1 -1
- package/dist/services/airPurifierService.js +3 -1
- package/dist/services/airPurifierService.js.map +1 -1
- package/dist/webhook/signatureVerifier.d.ts +45 -0
- package/dist/webhook/signatureVerifier.d.ts.map +1 -0
- package/dist/webhook/signatureVerifier.js +320 -0
- package/dist/webhook/signatureVerifier.js.map +1 -0
- package/dist/webhook/webhookServer.d.ts +4 -0
- package/dist/webhook/webhookServer.d.ts.map +1 -1
- package/dist/webhook/webhookServer.js +143 -41
- package/dist/webhook/webhookServer.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## [1.0.67] - Optional SmartThings webhook signature verification
|
|
5
|
+
|
|
6
|
+
> Stable release of the `1.0.67-beta.0` work (below), validated end-to-end against live SmartThings traffic: with verification enabled, the signed `CONFIRMATION` handshake and live device `EVENT`s are accepted and applied, while unsigned/forged requests are rejected with **HTTP 401**; with the flag off (the default) webhook handling is unchanged. Opt-in and **off by default**, so existing setups are unaffected until they enable it.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- **`verifyWebhookSignatures` config option** (default `false`). When enabled, every inbound webhook POST must carry a valid SmartThings HTTP signature, a matching body digest, and a recent `Date` (within ±15 minutes) — otherwise it is rejected with **HTTP 401** before any processing. The signed-header set must cover `(request-target)`, `digest`, and `date`, so the digest is bound to the RSA signature. Only known SmartThings lifecycles (`PING`, `CONFIRMATION`, `INSTALL`, `UPDATE`, `UNINSTALL`, `CONFIGURATION`, `EVENT`) are processed; anything else is dropped with **HTTP 400**. Requires an `https` Server URL — otherwise verification stays disabled (logged) rather than breaking the webhook; for polling-only setups (no Server URL) the option is a harmless no-op. The signing certificate is fetched from `key.smartthings.com` (key id validated, cached per key id with a size cap and brief negative caching). When the flag is off, webhook handling is unchanged.
|
|
10
|
+
|
|
11
|
+
### Security
|
|
12
|
+
- **Webhook endpoint hardening** (applies regardless of the flag): the inbound body is capped (oversized POSTs get **HTTP 413**) to protect the public endpoint from memory exhaustion, and the `CONFIRMATION` lifecycle's outbound call is restricted to `https` URLs with no redirects and a timeout, reducing the server-side request-forgery surface.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- Resolved long-standing ESLint errors in the air conditioner service (an unused variable and a `case`-block declaration) and corrected the `lint` script glob (`src/**.ts` → `src/**/*.ts`) so the whole `src/` tree is actually linted.
|
|
16
|
+
|
|
17
|
+
## [1.0.67-beta.0] - Optional SmartThings webhook signature verification
|
|
18
|
+
|
|
19
|
+
> Opt-in hardening for the webhook (tunnel) route. SmartThings already signs every inbound webhook POST with an HTTP Signature (RSA-SHA256 over the request body, using its rotating "Padlock CA" certificate), but the plugin previously did not verify it — any host that could reach the public webhook URL could forge device events. This release adds verification behind a new, **off-by-default** flag, so existing setups are unaffected until they opt in.
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **`verifyWebhookSignatures` config option** (default `false`). When enabled, every inbound webhook POST must carry a valid SmartThings HTTP signature, a matching body digest, and a recent `Date` (within ±15 minutes) — otherwise it is rejected with **HTTP 401** before any processing. The signed-header set is required to cover `(request-target)`, `digest`, and `date`, so the digest is genuinely bound to the RSA signature. Only known SmartThings lifecycles (`PING`, `CONFIRMATION`, `INSTALL`, `UPDATE`, `UNINSTALL`, `CONFIGURATION`, `EVENT`) are processed; anything else is dropped with **HTTP 400**. Requires an `https` Server URL — if the Server URL is not https, verification stays disabled (with a logged warning) rather than breaking the webhook. The signing certificate is fetched from `key.smartthings.com` (key id validated to a safe path shape) and cached per key id with a size cap and brief negative caching (keys rotate ~monthly). When the flag is off, webhook handling is unchanged.
|
|
23
|
+
|
|
24
|
+
### Security
|
|
25
|
+
- **Webhook endpoint hardening** (applies regardless of the flag): the inbound body is now capped (oversized POSTs get **HTTP 413**) to protect the public endpoint from memory exhaustion, and the `CONFIRMATION` lifecycle's outbound call is restricted to `https` URLs with no redirects and a timeout, reducing the server-side request forgery surface.
|
|
26
|
+
|
|
4
27
|
## [1.0.66] - Samsung Frame & Tizen TV Control + Laundry/Dishwasher Countdown
|
|
5
28
|
|
|
6
29
|
> Consolidates the `1.0.66-beta.0`–`beta.7` work (see the beta entries below for full detail). Two themes: Samsung **Frame & Tizen TV** control over the local WebSocket (#46), and a working **remaining-time countdown** for Samsung washers, dryers, and dishwashers in Apple Home (#13). Does not include the in-progress air-purifier work (PR #48).
|
package/config.schema.json
CHANGED
|
@@ -62,6 +62,13 @@
|
|
|
62
62
|
"default": 3000,
|
|
63
63
|
"description": "Port for webhook server (only used if Server URL is configured)"
|
|
64
64
|
},
|
|
65
|
+
"verifyWebhookSignatures": {
|
|
66
|
+
"title": "Verify SmartThings Webhook Signatures",
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"required": false,
|
|
69
|
+
"default": false,
|
|
70
|
+
"description": "When enabled, every inbound webhook POST must carry a valid SmartThings HTTP signature (and a recent timestamp) or it is rejected with HTTP 401. Only applies when an https Server URL is configured; with a non-https URL it stays disabled. Register/confirm your Server URL with SmartThings BEFORE enabling, then confirm real-time updates still work (polling continues either way). Off (default) preserves existing behavior."
|
|
71
|
+
},
|
|
65
72
|
"GarageDoorMaxPoll": {
|
|
66
73
|
"title": "Garage Door Max Poll",
|
|
67
74
|
"type": "integer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airConditionerService.d.ts","sourceRoot":"","sources":["../../src/services/airConditionerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0C5C,qBAAa,qBAAsB,SAAQ,WAAW;IAEpD,OAAO,CAAC,eAAe,CAA4C;IAEnE,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,yBAAyB,CAAsB;IACvD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,sBAAsB,CAAsB;IACpD,OAAO,CAAC,yBAAyB,CAAsB;IAEvD,OAAO,CAAC,4BAA4B,CAAS;IAG7C,OAAO,CAAC,gBAAgB,CAAS;gBAErB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAwD5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,QAAQ;IA4BhB,OAAO,CAAC,+BAA+B;IAkCvC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;YAmBV,gBAAgB;IAK9B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,6BAA6B;YAUvB,mBAAmB;YAKnB,mBAAmB;YAKnB,kBAAkB;YAKlB,kBAAkB;YAKlB,kCAAkC;YAMlC,kCAAkC;YAUlC,cAAc;
|
|
1
|
+
{"version":3,"file":"airConditionerService.d.ts","sourceRoot":"","sources":["../../src/services/airConditionerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0C5C,qBAAa,qBAAsB,SAAQ,WAAW;IAEpD,OAAO,CAAC,eAAe,CAA4C;IAEnE,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,yBAAyB,CAAsB;IACvD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,sBAAsB,CAAsB;IACpD,OAAO,CAAC,yBAAyB,CAAsB;IAEvD,OAAO,CAAC,4BAA4B,CAAS;IAG7C,OAAO,CAAC,gBAAgB,CAAS;gBAErB,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAwD5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,QAAQ;IA4BhB,OAAO,CAAC,+BAA+B;IAkCvC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;YAmBV,gBAAgB;IAK9B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,6BAA6B;YAUvB,mBAAmB;YAKnB,mBAAmB;YAKnB,kBAAkB;YAKlB,kBAAkB;YAKlB,kCAAkC;YAMlC,kCAAkC;YAUlC,cAAc;YAkDd,cAAc;IAK5B,OAAO,CAAC,WAAW;YAkBL,WAAW;IAYzB,OAAO,CAAC,YAAY;YAQN,YAAY;IAQ1B,OAAO,CAAC,6CAA6C;IAgBrD,OAAO,CAAC,6CAA6C;YAcvC,4BAA4B;YAe5B,4BAA4B;YAqB5B,6BAA6B;YAyB7B,qBAAqB;YAkBrB,oBAAoB;IAYlC,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;YAIL,kBAAkB;YAYlB,eAAe;IAetB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAuD7C"}
|
|
@@ -259,7 +259,6 @@ class AirConditionerService extends baseService_1.BaseService {
|
|
|
259
259
|
// If fan is turned on, and thermostat is not active, sets the air conditioner to the Wind mode or mantains the current one.
|
|
260
260
|
async setSwitchState(value) {
|
|
261
261
|
var _a, _b;
|
|
262
|
-
const CurrentHeatingCoolingState = this.platform.Characteristic.CurrentHeatingCoolingState;
|
|
263
262
|
const heatingCoolingState = await this.getTargetHeatingCoolingState(); // Use target state for mode decision when turning on
|
|
264
263
|
const currentAirConditionerMode = this.targetHeatingCoolingStateToAirConditionerMode(heatingCoolingState);
|
|
265
264
|
const airConditionerMode = heatingCoolingState === this.platform.Characteristic.TargetHeatingCoolingState.OFF ? AirConditionerMode.Wind : currentAirConditionerMode;
|
|
@@ -515,7 +514,7 @@ class AirConditionerService extends baseService_1.BaseService {
|
|
|
515
514
|
case 'relativeHumidityMeasurement':
|
|
516
515
|
(_a = this.humidityService) === null || _a === void 0 ? void 0 : _a.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, event.value);
|
|
517
516
|
break;
|
|
518
|
-
case 'custom.airConditionerOptionalMode':
|
|
517
|
+
case 'custom.airConditionerOptionalMode': {
|
|
519
518
|
const currentDeviceMode = event.value;
|
|
520
519
|
this.log.info(`[${this.name}] Event for custom.airConditionerOptionalMode: ${currentDeviceMode}`);
|
|
521
520
|
if (this.multipleOptionalModesEnabled) {
|
|
@@ -529,6 +528,7 @@ class AirConditionerService extends baseService_1.BaseService {
|
|
|
529
528
|
(_d = this.optionalModeSwitchService) === null || _d === void 0 ? void 0 : _d.updateCharacteristic(this.platform.Characteristic.On, currentDeviceMode === this.optionalMode);
|
|
530
529
|
}
|
|
531
530
|
break;
|
|
531
|
+
}
|
|
532
532
|
case 'switchLevel':
|
|
533
533
|
(_e = this.lightService) === null || _e === void 0 ? void 0 : _e.updateCharacteristic(this.platform.Characteristic.On, event.value > 0);
|
|
534
534
|
(_f = this.lightService) === null || _f === void 0 ? void 0 : _f.updateCharacteristic(this.platform.Characteristic.Brightness, event.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airConditionerService.js","sourceRoot":"","sources":["../../src/services/airConditionerService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"airConditionerService.js","sourceRoot":"","sources":["../../src/services/airConditionerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airPurifierService.d.ts","sourceRoot":"","sources":["../../src/services/airPurifierService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAe5C,qBAAa,kBAAmB,SAAQ,WAAW;IAEjD,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,uBAAuB,CAAC,CAAU;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAU;IAKxC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,sBAAsB,CAAC,CAAqB;IACpD,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAO;gBAEvC,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;
|
|
1
|
+
{"version":3,"file":"airPurifierService.d.ts","sourceRoot":"","sources":["../../src/services/airPurifierService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAe5C,qBAAa,kBAAmB,SAAQ,WAAW;IAEjD,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,uBAAuB,CAAC,CAAU;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAU;IAKxC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,sBAAsB,CAAC,CAAqB;IACpD,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAO;gBAEvC,QAAQ,EAAE,8BAA8B,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAC7H,qBAAqB,EAAE,qBAAqB,EAC5C,IAAI,EAAE,MAAM,EAAE,YAAY,KAAA;IAoB5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,mBAAmB;YAmBb,SAAS;YAKT,SAAS;YAkBT,0BAA0B;YAS1B,yBAAyB;YAOzB,yBAAyB;YAQzB,gBAAgB;YAMhB,gBAAgB;IAO9B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;YA0BX,kBAAkB;YAKlB,yBAAyB;YASzB,aAAa;YAiBb,cAAc;YAKd,cAAc;YAKd,aAAa;YAOb,gBAAgB;IAO9B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,qBAAqB;YAgBf,kBAAkB;YAWlB,eAAe;IAYtB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CA4D7C"}
|
|
@@ -21,7 +21,9 @@ class AirPurifierService extends baseService_1.BaseService {
|
|
|
21
21
|
super(platform, accessory, componentId, capabilities, multiServiceAccessory, name, deviceStatus);
|
|
22
22
|
this.log.debug(`Adding AirPurifierService to ${this.name}`);
|
|
23
23
|
this.airPurifierService = this.setupAirPurifier(platform, multiServiceAccessory);
|
|
24
|
-
if (this.isCapabilitySupported('airQualitySensor') ||
|
|
24
|
+
if (this.isCapabilitySupported('airQualitySensor') ||
|
|
25
|
+
this.isCapabilitySupported('dustSensor') ||
|
|
26
|
+
this.isCapabilitySupported('odorSensor')) {
|
|
25
27
|
this.airQualitySensorService = this.setupAirQualitySensor(platform, multiServiceAccessory);
|
|
26
28
|
}
|
|
27
29
|
if (this.isCapabilitySupported('relativeHumidityMeasurement')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airPurifierService.js","sourceRoot":"","sources":["../../src/services/airPurifierService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"airPurifierService.js","sourceRoot":"","sources":["../../src/services/airPurifierService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Logger } from 'homebridge';
|
|
2
|
+
import * as http from 'http';
|
|
3
|
+
export declare class SignatureVerifier {
|
|
4
|
+
private readonly log;
|
|
5
|
+
private readonly certCache;
|
|
6
|
+
private readonly inFlight;
|
|
7
|
+
private readonly negativeCache;
|
|
8
|
+
constructor(log: Logger);
|
|
9
|
+
/**
|
|
10
|
+
* Returns true only if the request carries a valid, fresh SmartThings signature over the
|
|
11
|
+
* given raw body. Logs a specific reason on failure to aid diagnosis of 401s.
|
|
12
|
+
*/
|
|
13
|
+
verify(rawBody: Buffer, method: string | undefined, path: string, headers: http.IncomingHttpHeaders): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Parses `Authorization: Signature keyId="...",signature="...",headers="...",algorithm="..."`.
|
|
16
|
+
* Returns null if the scheme is wrong or any required member is missing.
|
|
17
|
+
*/
|
|
18
|
+
private parseSignatureHeader;
|
|
19
|
+
/**
|
|
20
|
+
* Confirms base64(sha256(rawBody)) equals the value in the Digest header.
|
|
21
|
+
* Accepts both `SHA256=` and `SHA-256=` prefixes.
|
|
22
|
+
*/
|
|
23
|
+
private verifyDigest;
|
|
24
|
+
/**
|
|
25
|
+
* Rejects requests whose Date header is missing, unparseable, or outside the skew tolerance.
|
|
26
|
+
*/
|
|
27
|
+
private verifyDateFreshness;
|
|
28
|
+
/**
|
|
29
|
+
* Builds the signing string from the signed header list, verbatim and in order.
|
|
30
|
+
* `(request-target)` => "<method> <path>"; every other token => "<name>: <value>".
|
|
31
|
+
* Returns null if any named header is absent or multi-valued.
|
|
32
|
+
*/
|
|
33
|
+
private buildSigningString;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the PEM cert for a keyId, using a per-keyId cache and de-duplicating concurrent
|
|
36
|
+
* fetches. keyId rotation is handled implicitly: a new keyId is simply a new cache key.
|
|
37
|
+
*/
|
|
38
|
+
private getCertificate;
|
|
39
|
+
private fetchCertificate;
|
|
40
|
+
private computeExpiry;
|
|
41
|
+
private rsaVerify;
|
|
42
|
+
private pruneExpired;
|
|
43
|
+
private evictIfFull;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=signatureVerifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signatureVerifier.d.ts","sourceRoot":"","sources":["../../src/webhook/signatureVerifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA0C7B,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAE9B,GAAG,EAAE,MAAM;IAExC;;;OAGG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAChC,OAAO,CAAC,OAAO,CAAC;IAiDnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;YACW,cAAc;YAoCd,gBAAgB;IAqB9B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.SignatureVerifier = void 0;
|
|
40
|
+
const crypto = __importStar(require("crypto"));
|
|
41
|
+
const axios_1 = __importDefault(require("axios"));
|
|
42
|
+
/**
|
|
43
|
+
* Verifies the IETF HTTP Signature (draft-cavage) that SmartThings attaches to every
|
|
44
|
+
* inbound webhook POST. SmartThings signs requests with its rotating x.509 "Padlock CA"
|
|
45
|
+
* certificate (signatureType ST_PADLOCK); the public cert is served at
|
|
46
|
+
* `https://key.smartthings.com{keyId}` where keyId comes from the Authorization header.
|
|
47
|
+
*
|
|
48
|
+
* Every code path is total: any malformed input, fetch failure, or crypto error resolves
|
|
49
|
+
* to `false` (=> the caller returns 401). Nothing here throws to the request handler.
|
|
50
|
+
*/
|
|
51
|
+
const KEY_HOST = 'https://key.smartthings.com';
|
|
52
|
+
const KEY_FETCH_TIMEOUT_MS = 5000;
|
|
53
|
+
// Hard cap so a cache entry can never outlive this even if validTo parsing misbehaves.
|
|
54
|
+
const CERT_TTL_CAP_MS = 24 * 60 * 60 * 1000;
|
|
55
|
+
// Reject requests whose Date header is outside this window (anti-replay; tolerant of clock skew).
|
|
56
|
+
const DATE_SKEW_TOLERANCE_MS = 15 * 60 * 1000;
|
|
57
|
+
// Bound the cert cache and briefly remember failed fetches so a flood of distinct keyIds
|
|
58
|
+
// can't drive unbounded outbound requests to key.smartthings.com.
|
|
59
|
+
const MAX_CERT_CACHE_ENTRIES = 32;
|
|
60
|
+
const NEGATIVE_CACHE_TTL_MS = 60 * 1000;
|
|
61
|
+
// SmartThings always signs these; require them in the signed set so the digest/date checks
|
|
62
|
+
// are actually bound to the RSA signature rather than self-referential.
|
|
63
|
+
const REQUIRED_SIGNED_HEADERS = ['(request-target)', 'digest', 'date'];
|
|
64
|
+
// keyId is attacker-influenced (it comes from the request header); only allow a safe path shape.
|
|
65
|
+
const KEY_ID_PATTERN = /^\/[A-Za-z0-9._\-/]+$/;
|
|
66
|
+
class SignatureVerifier {
|
|
67
|
+
constructor(log) {
|
|
68
|
+
this.log = log;
|
|
69
|
+
this.certCache = new Map();
|
|
70
|
+
this.inFlight = new Map();
|
|
71
|
+
this.negativeCache = new Map();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns true only if the request carries a valid, fresh SmartThings signature over the
|
|
75
|
+
* given raw body. Logs a specific reason on failure to aid diagnosis of 401s.
|
|
76
|
+
*/
|
|
77
|
+
async verify(rawBody, method, path, headers) {
|
|
78
|
+
try {
|
|
79
|
+
const parsed = this.parseSignatureHeader(headers['authorization']);
|
|
80
|
+
if (!parsed) {
|
|
81
|
+
this.log.warn('Webhook signature: missing or malformed Authorization signature header');
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
// The RSA signature only authenticates the headers listed in `headers="..."`. Require the
|
|
85
|
+
// body-/replay-binding headers to be present, else digest/date are checked but not signed.
|
|
86
|
+
const signedSet = parsed.headers.map(h => h.toLowerCase());
|
|
87
|
+
if (!REQUIRED_SIGNED_HEADERS.every(h => signedSet.includes(h))) {
|
|
88
|
+
this.log.warn('Webhook signature: signed header list must include (request-target), digest, and date');
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (!this.verifyDigest(rawBody, headers['digest'])) {
|
|
92
|
+
this.log.warn('Webhook signature: body digest mismatch');
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (!this.verifyDateFreshness(headers['date'])) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const signingString = this.buildSigningString(parsed.headers, method, path, headers);
|
|
99
|
+
if (signingString === null) {
|
|
100
|
+
this.log.warn('Webhook signature: could not build signing string (a signed header is missing)');
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
const certPem = await this.getCertificate(parsed.keyId);
|
|
104
|
+
if (!certPem) {
|
|
105
|
+
this.log.warn(`Webhook signature: could not obtain certificate for keyId ${parsed.keyId}`);
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (!this.rsaVerify(signingString, parsed.signature, certPem)) {
|
|
109
|
+
this.log.warn('Webhook signature: RSA signature verification failed');
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
this.log.warn('Webhook signature: unexpected error during verification:', error);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parses `Authorization: Signature keyId="...",signature="...",headers="...",algorithm="..."`.
|
|
121
|
+
* Returns null if the scheme is wrong or any required member is missing.
|
|
122
|
+
*/
|
|
123
|
+
parseSignatureHeader(authHeader) {
|
|
124
|
+
if (typeof authHeader !== 'string') {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const trimmed = authHeader.trim();
|
|
128
|
+
if (!/^signature\s+/i.test(trimmed)) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
const paramStr = trimmed.replace(/^signature\s+/i, '');
|
|
132
|
+
const params = {};
|
|
133
|
+
const re = /(\w+)\s*=\s*"([^"]*)"/g;
|
|
134
|
+
let match;
|
|
135
|
+
while ((match = re.exec(paramStr)) !== null) {
|
|
136
|
+
params[match[1].toLowerCase()] = match[2];
|
|
137
|
+
}
|
|
138
|
+
const keyId = params['keyid'];
|
|
139
|
+
const signature = params['signature'];
|
|
140
|
+
const headers = params['headers'];
|
|
141
|
+
const algorithm = params['algorithm'];
|
|
142
|
+
if (!keyId || !signature || !headers || !algorithm) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
keyId,
|
|
147
|
+
signature,
|
|
148
|
+
headers: headers.split(/\s+/).filter(h => h.length > 0),
|
|
149
|
+
algorithm,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Confirms base64(sha256(rawBody)) equals the value in the Digest header.
|
|
154
|
+
* Accepts both `SHA256=` and `SHA-256=` prefixes.
|
|
155
|
+
*/
|
|
156
|
+
verifyDigest(rawBody, digestHeader) {
|
|
157
|
+
if (typeof digestHeader !== 'string') {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
const m = /^\s*SHA-?256\s*=\s*(.+?)\s*$/i.exec(digestHeader);
|
|
161
|
+
if (!m) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
const expected = m[1];
|
|
165
|
+
const actual = crypto.createHash('sha256').update(rawBody).digest('base64');
|
|
166
|
+
const expectedBuf = Buffer.from(expected);
|
|
167
|
+
const actualBuf = Buffer.from(actual);
|
|
168
|
+
if (expectedBuf.length !== actualBuf.length) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
return crypto.timingSafeEqual(expectedBuf, actualBuf);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Rejects requests whose Date header is missing, unparseable, or outside the skew tolerance.
|
|
175
|
+
*/
|
|
176
|
+
verifyDateFreshness(dateHeader) {
|
|
177
|
+
if (typeof dateHeader !== 'string') {
|
|
178
|
+
this.log.warn('Webhook signature: missing Date header');
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
const dateMs = Date.parse(dateHeader);
|
|
182
|
+
if (Number.isNaN(dateMs)) {
|
|
183
|
+
this.log.warn('Webhook signature: unparseable Date header');
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
const skew = Math.abs(Date.now() - dateMs);
|
|
187
|
+
if (skew > DATE_SKEW_TOLERANCE_MS) {
|
|
188
|
+
this.log.warn(`Webhook signature: Date header outside ${DATE_SKEW_TOLERANCE_MS / 60000}-minute window ` +
|
|
189
|
+
`(skew ${Math.round(skew / 1000)}s) - rejecting as stale/replayed. Check the host clock if this is unexpected.`);
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Builds the signing string from the signed header list, verbatim and in order.
|
|
196
|
+
* `(request-target)` => "<method> <path>"; every other token => "<name>: <value>".
|
|
197
|
+
* Returns null if any named header is absent or multi-valued.
|
|
198
|
+
*/
|
|
199
|
+
buildSigningString(headerList, method, path, headers) {
|
|
200
|
+
const lines = [];
|
|
201
|
+
for (const name of headerList) {
|
|
202
|
+
if (name === '(request-target)') {
|
|
203
|
+
lines.push(`(request-target): ${(method || '').toLowerCase()} ${path}`);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
const value = headers[name];
|
|
207
|
+
if (value === undefined || Array.isArray(value)) {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
lines.push(`${name}: ${value}`);
|
|
211
|
+
}
|
|
212
|
+
return lines.join('\n');
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Returns the PEM cert for a keyId, using a per-keyId cache and de-duplicating concurrent
|
|
216
|
+
* fetches. keyId rotation is handled implicitly: a new keyId is simply a new cache key.
|
|
217
|
+
*/
|
|
218
|
+
async getCertificate(keyId) {
|
|
219
|
+
this.pruneExpired();
|
|
220
|
+
const cached = this.certCache.get(keyId);
|
|
221
|
+
if (cached && Date.now() < cached.expiresAt) {
|
|
222
|
+
return cached.pem;
|
|
223
|
+
}
|
|
224
|
+
const negativeUntil = this.negativeCache.get(keyId);
|
|
225
|
+
if (negativeUntil !== undefined && Date.now() < negativeUntil) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const existing = this.inFlight.get(keyId);
|
|
229
|
+
if (existing) {
|
|
230
|
+
return existing;
|
|
231
|
+
}
|
|
232
|
+
const fetchPromise = this.fetchCertificate(keyId)
|
|
233
|
+
.then(pem => {
|
|
234
|
+
if (pem) {
|
|
235
|
+
this.evictIfFull();
|
|
236
|
+
this.certCache.set(keyId, { pem, expiresAt: this.computeExpiry(pem) });
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this.negativeCache.set(keyId, Date.now() + NEGATIVE_CACHE_TTL_MS);
|
|
240
|
+
}
|
|
241
|
+
return pem;
|
|
242
|
+
})
|
|
243
|
+
.finally(() => {
|
|
244
|
+
this.inFlight.delete(keyId);
|
|
245
|
+
});
|
|
246
|
+
this.inFlight.set(keyId, fetchPromise);
|
|
247
|
+
return fetchPromise;
|
|
248
|
+
}
|
|
249
|
+
async fetchCertificate(keyId) {
|
|
250
|
+
// Defend against keyId injecting an absolute URL / different host or scheme, or a flood of
|
|
251
|
+
// distinct malformed keyIds. Only a plain key-path shape is allowed.
|
|
252
|
+
if (!KEY_ID_PATTERN.test(keyId)) {
|
|
253
|
+
this.log.warn(`Webhook signature: refusing to fetch certificate for malformed keyId ${keyId}`);
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
try {
|
|
257
|
+
const resp = await axios_1.default.get(`${KEY_HOST}${keyId}`, {
|
|
258
|
+
timeout: KEY_FETCH_TIMEOUT_MS,
|
|
259
|
+
responseType: 'text',
|
|
260
|
+
maxRedirects: 0,
|
|
261
|
+
validateStatus: status => status === 200,
|
|
262
|
+
});
|
|
263
|
+
return typeof resp.data === 'string' ? resp.data : String(resp.data);
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
this.log.warn(`Webhook signature: failed to fetch certificate ${keyId}:`, error instanceof Error ? error.message : error);
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
computeExpiry(pem) {
|
|
271
|
+
const cap = Date.now() + CERT_TTL_CAP_MS;
|
|
272
|
+
try {
|
|
273
|
+
const validTo = Date.parse(new crypto.X509Certificate(pem).validTo);
|
|
274
|
+
if (!Number.isNaN(validTo)) {
|
|
275
|
+
return Math.min(validTo, cap);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
catch (_a) {
|
|
279
|
+
// Fall through to the hard cap if the cert can't be parsed for an expiry.
|
|
280
|
+
}
|
|
281
|
+
return cap;
|
|
282
|
+
}
|
|
283
|
+
rsaVerify(signingString, signatureB64, certPem) {
|
|
284
|
+
try {
|
|
285
|
+
return crypto
|
|
286
|
+
.createVerify('RSA-SHA256')
|
|
287
|
+
.update(signingString)
|
|
288
|
+
.verify(certPem, signatureB64, 'base64');
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
this.log.debug('Webhook signature: crypto verify threw:', error);
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
pruneExpired() {
|
|
296
|
+
const now = Date.now();
|
|
297
|
+
for (const [keyId, entry] of this.certCache) {
|
|
298
|
+
if (now >= entry.expiresAt) {
|
|
299
|
+
this.certCache.delete(keyId);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
for (const [keyId, until] of this.negativeCache) {
|
|
303
|
+
if (now >= until) {
|
|
304
|
+
this.negativeCache.delete(keyId);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Bound cache growth: if at capacity, drop the oldest entry (Map preserves insertion order).
|
|
309
|
+
evictIfFull() {
|
|
310
|
+
while (this.certCache.size >= MAX_CERT_CACHE_ENTRIES) {
|
|
311
|
+
const oldest = this.certCache.keys().next().value;
|
|
312
|
+
if (oldest === undefined) {
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
this.certCache.delete(oldest);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
exports.SignatureVerifier = SignatureVerifier;
|
|
320
|
+
//# sourceMappingURL=signatureVerifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signatureVerifier.js","sourceRoot":"","sources":["../../src/webhook/signatureVerifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,15 @@ export declare class WebhookServer {
|
|
|
9
9
|
private eventHandlers;
|
|
10
10
|
private authHandler;
|
|
11
11
|
private isRunning;
|
|
12
|
+
private verifyEnabled;
|
|
13
|
+
private signatureVerifier;
|
|
12
14
|
constructor(platform: IKHomeBridgeHomebridgePlatform, log: Logger);
|
|
13
15
|
private startServer;
|
|
14
16
|
setAuthHandler(auth: SmartThingsAuth): void;
|
|
15
17
|
private handleOAuthCallback;
|
|
16
18
|
private handleIncomingPost;
|
|
19
|
+
private handleLegacyPost;
|
|
20
|
+
private handleVerifiedPost;
|
|
17
21
|
private handleSmartThingsLifecycle;
|
|
18
22
|
private handlePing;
|
|
19
23
|
private handleConfirmation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookServer.d.ts","sourceRoot":"","sources":["../../src/webhook/webhookServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"webhookServer.d.ts","sourceRoot":"","sources":["../../src/webhook/webhookServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAkC;gBAGxC,QAAQ,EAAE,8BAA8B,EACxC,GAAG,EAAE,MAAM;IA6B9B,OAAO,CAAC,WAAW;IAgCZ,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;YAIpC,mBAAmB;YAanB,kBAAkB;IAkDhC,OAAO,CAAC,gBAAgB;YAwCV,kBAAkB;IAgChC,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,qBAAqB;IAwBtB,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIlE,OAAO,CAAC,mBAAmB;IAUpB,IAAI,IAAI,IAAI;IAOZ,eAAe,IAAI,OAAO;CAGlC"}
|
|
@@ -39,7 +39,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.WebhookServer = void 0;
|
|
40
40
|
const http = __importStar(require("http"));
|
|
41
41
|
const url = __importStar(require("url"));
|
|
42
|
+
const signatureVerifier_1 = require("./signatureVerifier");
|
|
42
43
|
const axios_1 = __importDefault(require("axios"));
|
|
44
|
+
// Lifecycles we process when signature verification is enabled. Anything else is dropped (400).
|
|
45
|
+
const KNOWN_LIFECYCLES = ['PING', 'CONFIRMATION', 'INSTALL', 'UPDATE', 'UNINSTALL', 'CONFIGURATION', 'EVENT'];
|
|
46
|
+
// Cap the inbound body on the public webhook endpoint. SmartThings lifecycle payloads are well under 1 KB.
|
|
47
|
+
const MAX_BODY_BYTES = 1024 * 1024;
|
|
43
48
|
class WebhookServer {
|
|
44
49
|
constructor(platform, log) {
|
|
45
50
|
this.platform = platform;
|
|
@@ -48,6 +53,26 @@ class WebhookServer {
|
|
|
48
53
|
this.eventHandlers = [];
|
|
49
54
|
this.authHandler = null;
|
|
50
55
|
this.isRunning = false;
|
|
56
|
+
this.verifyEnabled = false;
|
|
57
|
+
this.signatureVerifier = null;
|
|
58
|
+
// Opt-in HTTP signature verification of inbound SmartThings webhooks.
|
|
59
|
+
if (this.platform.config.verifyWebhookSignatures === true) {
|
|
60
|
+
const serverUrl = (this.platform.config.server_url || '').trim();
|
|
61
|
+
if (serverUrl === '') {
|
|
62
|
+
// Polling-only setup: the webhook server never starts, so the flag is a harmless no-op.
|
|
63
|
+
this.log.debug('verifyWebhookSignatures is set but no Server URL is configured - this setting only ' +
|
|
64
|
+
'applies to the webhook route, so it has no effect in polling mode.');
|
|
65
|
+
}
|
|
66
|
+
else if (serverUrl.toLowerCase().startsWith('https://')) {
|
|
67
|
+
this.verifyEnabled = true;
|
|
68
|
+
this.signatureVerifier = new signatureVerifier_1.SignatureVerifier(this.log);
|
|
69
|
+
this.log.info('Webhook signature verification is ENABLED - unsigned/invalid requests will be rejected with 401');
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.log.error('verifyWebhookSignatures is enabled but Server URL is not https. ' +
|
|
73
|
+
'Signature verification is DISABLED for this run. Set an https Server URL to enable it.');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
51
76
|
// Only start the webhook server if server_url is configured
|
|
52
77
|
// This is needed for both OAuth callback (traditional flow) and device events
|
|
53
78
|
if (this.platform.config.server_url && this.platform.config.server_url.trim() !== '') {
|
|
@@ -107,46 +132,43 @@ class WebhookServer {
|
|
|
107
132
|
}
|
|
108
133
|
async handleIncomingPost(req, res) {
|
|
109
134
|
try {
|
|
110
|
-
|
|
135
|
+
// Accumulate as Buffer so signature verification can hash the exact received bytes.
|
|
136
|
+
const chunks = [];
|
|
137
|
+
let totalBytes = 0;
|
|
138
|
+
let aborted = false;
|
|
111
139
|
req.on('data', chunk => {
|
|
112
|
-
|
|
140
|
+
if (aborted) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
144
|
+
totalBytes += buf.length;
|
|
145
|
+
if (totalBytes > MAX_BODY_BYTES) {
|
|
146
|
+
// Guard a public endpoint against memory exhaustion. SmartThings payloads are tiny.
|
|
147
|
+
aborted = true;
|
|
148
|
+
this.log.warn('Rejected webhook POST on / - request body exceeds size limit (413)');
|
|
149
|
+
res.writeHead(413);
|
|
150
|
+
res.end();
|
|
151
|
+
req.destroy();
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
chunks.push(buf);
|
|
113
155
|
});
|
|
114
156
|
req.on('end', () => {
|
|
115
|
-
|
|
116
|
-
// a 400 can be treated by SmartThings as a failed lifecycle delivery.
|
|
117
|
-
if (body.trim() === '') {
|
|
118
|
-
this.log.debug('Received empty POST body on /, acknowledging');
|
|
119
|
-
res.writeHead(200);
|
|
120
|
-
res.end();
|
|
157
|
+
if (aborted) {
|
|
121
158
|
return;
|
|
122
159
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
else if (parsed.deviceId && parsed.capability) {
|
|
133
|
-
// Legacy direct ShortEvent format (for compatibility)
|
|
134
|
-
this.notifyEventHandlers(parsed);
|
|
135
|
-
res.writeHead(200);
|
|
136
|
-
res.end();
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
this.log.debug('Received unknown POST format on /, ignoring');
|
|
140
|
-
res.writeHead(200);
|
|
141
|
-
res.end();
|
|
142
|
-
}
|
|
160
|
+
const rawBody = Buffer.concat(chunks);
|
|
161
|
+
if (this.verifyEnabled) {
|
|
162
|
+
this.handleVerifiedPost(rawBody, req, res).catch(error => {
|
|
163
|
+
this.log.error('Error handling verified webhook POST:', error);
|
|
164
|
+
if (!res.writableEnded) {
|
|
165
|
+
res.writeHead(500);
|
|
166
|
+
res.end();
|
|
167
|
+
}
|
|
168
|
+
});
|
|
143
169
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
// delivery as failed; log for visibility.
|
|
147
|
-
this.log.warn('Received unparseable POST body on /, acknowledging:', error);
|
|
148
|
-
res.writeHead(200);
|
|
149
|
-
res.end();
|
|
170
|
+
else {
|
|
171
|
+
this.handleLegacyPost(rawBody.toString(), res);
|
|
150
172
|
}
|
|
151
173
|
});
|
|
152
174
|
}
|
|
@@ -156,6 +178,79 @@ class WebhookServer {
|
|
|
156
178
|
res.end();
|
|
157
179
|
}
|
|
158
180
|
}
|
|
181
|
+
// Unauthenticated path (default). Behavior is unchanged from prior releases: every
|
|
182
|
+
// non-error case acks with 200 so SmartThings never marks a delivery as failed.
|
|
183
|
+
handleLegacyPost(body, res) {
|
|
184
|
+
// Empty POSTs (tunnel/SmartThings health checks) must be acked, not 400'd —
|
|
185
|
+
// a 400 can be treated by SmartThings as a failed lifecycle delivery.
|
|
186
|
+
if (body.trim() === '') {
|
|
187
|
+
this.log.debug('Received empty POST body on /, acknowledging');
|
|
188
|
+
res.writeHead(200);
|
|
189
|
+
res.end();
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
const parsed = JSON.parse(body);
|
|
194
|
+
// Detect SmartThings lifecycle format
|
|
195
|
+
// SmartApps use "lifecycle", API_ONLY/Connected Service apps use "messageType"
|
|
196
|
+
const lifecycleType = parsed.lifecycle || parsed.messageType;
|
|
197
|
+
if (lifecycleType) {
|
|
198
|
+
parsed.lifecycle = lifecycleType; // Normalize to "lifecycle" for handler
|
|
199
|
+
this.handleSmartThingsLifecycle(parsed, res);
|
|
200
|
+
}
|
|
201
|
+
else if (parsed.deviceId && parsed.capability) {
|
|
202
|
+
// Legacy direct ShortEvent format (for compatibility)
|
|
203
|
+
this.notifyEventHandlers(parsed);
|
|
204
|
+
res.writeHead(200);
|
|
205
|
+
res.end();
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
this.log.debug('Received unknown POST format on /, ignoring');
|
|
209
|
+
res.writeHead(200);
|
|
210
|
+
res.end();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
// Malformed body — ack with 200 so SmartThings doesn't mark a lifecycle
|
|
215
|
+
// delivery as failed; log for visibility.
|
|
216
|
+
this.log.warn('Received unparseable POST body on /, acknowledging:', error);
|
|
217
|
+
res.writeHead(200);
|
|
218
|
+
res.end();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Verified path (verifyWebhookSignatures enabled). Rejects anything without a valid
|
|
222
|
+
// SmartThings HTTP signature with 401, and only dispatches known lifecycles.
|
|
223
|
+
async handleVerifiedPost(rawBody, req, res) {
|
|
224
|
+
const path = url.parse(req.url || '/').pathname || '/';
|
|
225
|
+
const ok = await this.signatureVerifier.verify(rawBody, req.method, path, req.headers);
|
|
226
|
+
if (!ok) {
|
|
227
|
+
this.log.warn('Rejected webhook POST on / - HTTP signature verification failed (401)');
|
|
228
|
+
res.writeHead(401, { 'Content-Type': 'text/plain' });
|
|
229
|
+
res.end('Unauthorized');
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
let parsed;
|
|
233
|
+
try {
|
|
234
|
+
parsed = JSON.parse(rawBody.toString());
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
// The request was signed by SmartThings, so an unparseable body is anomalous - drop it.
|
|
238
|
+
this.log.warn('Dropping signed webhook POST with unparseable body (400):', error);
|
|
239
|
+
res.writeHead(400);
|
|
240
|
+
res.end();
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const lifecycleType = parsed.lifecycle || parsed.messageType;
|
|
244
|
+
if (lifecycleType && KNOWN_LIFECYCLES.includes(lifecycleType)) {
|
|
245
|
+
parsed.lifecycle = lifecycleType; // Normalize to "lifecycle" for handler
|
|
246
|
+
this.handleSmartThingsLifecycle(parsed, res);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
this.log.warn(`Dropping webhook POST with non-allowlisted lifecycle (lifecycle=${lifecycleType !== null && lifecycleType !== void 0 ? lifecycleType : 'none'}) (400)`);
|
|
250
|
+
res.writeHead(400);
|
|
251
|
+
res.end();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
159
254
|
handleSmartThingsLifecycle(body, res) {
|
|
160
255
|
const lifecycle = body.lifecycle;
|
|
161
256
|
this.log.debug(`Received SmartThings lifecycle event: ${lifecycle}`);
|
|
@@ -206,13 +301,20 @@ class WebhookServer {
|
|
|
206
301
|
const confirmationUrl = (_a = body.confirmationData) === null || _a === void 0 ? void 0 : _a.confirmationUrl;
|
|
207
302
|
if (confirmationUrl) {
|
|
208
303
|
this.log.info('Received SmartThings CONFIRMATION - hitting confirmation URL');
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
304
|
+
// Only call https URLs, never follow redirects, and time out — limits SSRF if a forged
|
|
305
|
+
// CONFIRMATION reaches this handler (always possible when verification is disabled).
|
|
306
|
+
if (typeof confirmationUrl === 'string' && /^https:\/\//i.test(confirmationUrl)) {
|
|
307
|
+
axios_1.default.get(confirmationUrl, { timeout: 5000, maxRedirects: 0 })
|
|
308
|
+
.then(() => {
|
|
309
|
+
this.log.info('Successfully confirmed SmartThings app registration');
|
|
310
|
+
})
|
|
311
|
+
.catch((error) => {
|
|
312
|
+
this.log.error('Failed to confirm SmartThings app registration:', error);
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
this.log.error('Refusing to call non-https confirmation URL from CONFIRMATION lifecycle');
|
|
317
|
+
}
|
|
216
318
|
const serverUrl = this.platform.config.server_url || '';
|
|
217
319
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
218
320
|
res.end(JSON.stringify({ targetUrl: serverUrl }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhookServer.js","sourceRoot":"","sources":["../../src/webhook/webhookServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webhookServer.js","sourceRoot":"","sources":["../../src/webhook/webhookServer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"private": false,
|
|
3
3
|
"displayName": "Homebridge Smartthings oAuth Plugin",
|
|
4
4
|
"name": "homebridge-smartthings-oauth",
|
|
5
|
-
"version": "1.0.
|
|
5
|
+
"version": "1.0.67",
|
|
6
6
|
"description": "Connects SmartThings devices to Homebridge. Automatically discovers devices.",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"main": "dist/index.js",
|
|
21
21
|
"scripts": {
|
|
22
|
-
"lint": "eslint src
|
|
22
|
+
"lint": "eslint \"src/**/*.ts\"",
|
|
23
23
|
"watch": "npm run build && npm link && nodemon",
|
|
24
24
|
"build": "rimraf ./dist && tsc",
|
|
25
25
|
"prepublishOnly": "npm run lint && npm run build"
|