new file mode 100644
@@ -0,0 +1,76 @@
+From df8fe9ebecc57c486f2d1ea5b1a5c34b22858bcb Mon Sep 17 00:00:00 2001
+From: "djm@openbsd.org" <djm@openbsd.org>
+Date: Fri, 7 Aug 2026 05:18:05 +0000
+Subject: [PATCH] upstream: Allow session-bind@openssh.com requests when the
+ agent is
+
+locked, otherwise forwarding sessions established with an agent was locked
+will be treated as local, rather than remote.
+
+Reported by sn0x-sharma
+
+OpenBSD-Commit-ID: 524f210c6f2b3a06e0a2f6d0af5188a9a75fa2c7
+
+CVE: CVE-2026-73281
+Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/6a57081dc35acf3ee298108d4bc3580489608d5f]
+
+Backport Changes:
+- Omitted the upstream OpenBSD RCS revision header update because it does
+ not apply to the OpenSSH 9.6p1 source revision.
+- OpenSSH 9.6p1 lacks the later query extension and replied/generic_fail
+ dispatch, so locked non-session-bind extensions retain the 9.6p1
+ success=false response path.
+
+(cherry picked from commit 6a57081dc35acf3ee298108d4bc3580489608d5f)
+Signed-off-by: Hetvi Thakar <hthakar@cisco.com>
+---
+ ssh-agent.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/ssh-agent.c b/ssh-agent.c
+index 2d2c6fcc..f1c35fd2 100644
+--- a/ssh-agent.c
++++ b/ssh-agent.c
+@@ -1778,10 +1778,19 @@ process_extension(SocketEntry *e)
+ error_fr(r, "parse");
+ goto send;
+ }
+- if (strcmp(name, "session-bind@openssh.com") == 0)
++ /*
++ * This function can be called while the agent is locked to allow
++ * session binds to be processed for new channels.
++ * Other operations should be refused when locked.
++ */
++
++ if (strcmp(name, "session-bind@openssh.com") == 0) {
+ success = process_ext_session_bind(e);
+- else
++ } else if (locked) {
++ debug_f("attempt to use extension \"%s\" while locked", name);
++ } else {
+ debug_f("unsupported extension \"%s\"", name);
++ }
+ free(name);
+ send:
+ send_status(e, success);
+@@ -1831,16 +1840,19 @@ process_message(u_int socknum)
+
+ /* check whether agent is locked */
+ if (locked && type != SSH_AGENTC_UNLOCK) {
+- sshbuf_reset(e->request);
+ switch (type) {
+ case SSH2_AGENTC_REQUEST_IDENTITIES:
+ /* send empty lists */
+ no_identities(e);
+ break;
++ case SSH_AGENTC_EXTENSION:
++ process_extension(e);
++ break;
+ default:
+ /* send a fail message for all other request types */
+ send_status(e, 0);
+ }
++ sshbuf_reset(e->request);
+ return 1;
+ }
+
@@ -46,6 +46,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://CVE-2026-60000.patch \
file://CVE-2026-73283.patch \
file://CVE-2026-73282.patch \
+ file://CVE-2026-73281.patch \
"
SRC_URI[sha256sum] = "910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c"