diff --git a/UPGRADING.md b/UPGRADING.md
index 82ca1b2ed52..d7c70b165fa 100644
--- a/UPGRADING.md
+++ b/UPGRADING.md
@@ -11,7 +11,7 @@
- [BC] The `TDependentListKey` type was removed and replaced with an optional property of the `TIntRange` type.
-- [BC] Value of constant `Psalm\Type\TaintKindGroup::ALL_INPUT` changed to reflect a new `TaintKind::INPUT_XPATH` have been added. Accordingly, default values for `$taint` parameters of `Psalm\Codebase::addTaintSource()` and `Psalm\Codebase::addTaintSink()` have been changed as well.
+- [BC] Value of constant `Psalm\Type\TaintKindGroup::ALL_INPUT` changed to reflect new `TaintKind::INPUT_SLEEP` and `TaintKind::INPUT_XPATH` have been added. Accordingly, default values for `$taint` parameters of `Psalm\Codebase::addTaintSource()` and `Psalm\Codebase::addTaintSink()` have been changed as well.
- [BC] Property `Config::$shepherd_host` was replaced with `Config::$shepherd_endpoint`
diff --git a/config.xsd b/config.xsd
index 3d5deb61e90..de492fcb1da 100644
--- a/config.xsd
+++ b/config.xsd
@@ -439,6 +439,7 @@
+
diff --git a/docs/running_psalm/error_levels.md b/docs/running_psalm/error_levels.md
index ca2ba58e4e4..35c4821d63b 100644
--- a/docs/running_psalm/error_levels.md
+++ b/docs/running_psalm/error_levels.md
@@ -293,6 +293,7 @@ Level 5 and above allows a more non-verifiable code, and higher levels are even
- [TaintedInput](issues/TaintedInput.md)
- [TaintedLdap](issues/TaintedLdap.md)
- [TaintedShell](issues/TaintedShell.md)
+ - [TaintedSleep](issues/TaintedSleep.md)
- [TaintedSql](issues/TaintedSql.md)
- [TaintedSSRF](issues/TaintedSSRF.md)
- [TaintedSystemSecret](issues/TaintedSystemSecret.md)
diff --git a/docs/running_psalm/issues.md b/docs/running_psalm/issues.md
index d05e070a4e7..c14cecd1451 100644
--- a/docs/running_psalm/issues.md
+++ b/docs/running_psalm/issues.md
@@ -241,6 +241,7 @@
- [TaintedInput](issues/TaintedInput.md)
- [TaintedLdap](issues/TaintedLdap.md)
- [TaintedShell](issues/TaintedShell.md)
+ - [TaintedSleep](issues/TaintedSleep.md)
- [TaintedSql](issues/TaintedSql.md)
- [TaintedSSRF](issues/TaintedSSRF.md)
- [TaintedSystemSecret](issues/TaintedSystemSecret.md)
diff --git a/docs/running_psalm/issues/TaintedSleep.md b/docs/running_psalm/issues/TaintedSleep.md
new file mode 100644
index 00000000000..181cf045c89
--- /dev/null
+++ b/docs/running_psalm/issues/TaintedSleep.md
@@ -0,0 +1,9 @@
+# TaintedSleep
+
+Emitted when user-controlled input can be passed into a `sleep` call or similar.
+
+```php
+xpath($expression);
}',
],
+ 'escapeSeconds' => [
+ 'code' => ' 'TaintedXpath',
],
+ 'taintedSleep' => [
+ 'code' => ' 'TaintedSleep',
+ ],
+ 'taintedUsleep' => [
+ 'code' => ' 'TaintedSleep',
+ ],
+ 'taintedTimeNanosleepSeconds' => [
+ 'code' => ' 'TaintedSleep',
+ ],
+ 'taintedTimeNanosleepNanoseconds' => [
+ 'code' => ' 'TaintedSleep',
+ ],
+ 'taintedTimeSleepUntil' => [
+ 'code' => ' 'TaintedSleep',
+ ],
];
}