SUSE-SU-2026:2472-1: important: Security update for apache-sshd, jpgpj

SLE-UPDATES null at suse.de
Fri Jun 19 20:30:24 UTC 2026


# Security update for apache-sshd, jpgpj

Announcement ID: SUSE-SU-2026:2472-1  
Release Date: 2026-06-19T13:41:45Z  
Rating: important  
References:

  * bsc#1239551
  * bsc#1267018

  
Cross-References:

  * CVE-2020-36843
  * CVE-2026-48827

  
CVSS scores:

  * CVE-2020-36843 ( SUSE ):  8.7
    CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
  * CVE-2020-36843 ( SUSE ):  7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
  * CVE-2020-36843 ( NVD ):  4.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
  * CVE-2026-48827 ( SUSE ):  6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
  * CVE-2026-48827 ( NVD ):  7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
  * CVE-2026-48827 ( NVD ):  6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

  
Affected Products:

  * Development Tools Module 15-SP7
  * SUSE Linux Enterprise Desktop 15 SP7
  * SUSE Linux Enterprise High Performance Computing 15 SP4
  * SUSE Linux Enterprise High Performance Computing 15 SP5
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP5
  * SUSE Linux Enterprise Real Time 15 SP7
  * SUSE Linux Enterprise Server 15 SP4
  * SUSE Linux Enterprise Server 15 SP4 LTSS
  * SUSE Linux Enterprise Server 15 SP5
  * SUSE Linux Enterprise Server 15 SP5 LTSS
  * SUSE Linux Enterprise Server 15 SP6
  * SUSE Linux Enterprise Server 15 SP6 LTSS
  * SUSE Linux Enterprise Server 15 SP7
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4
  * SUSE Linux Enterprise Server for SAP Applications 15 SP5
  * SUSE Linux Enterprise Server for SAP Applications 15 SP6
  * SUSE Linux Enterprise Server for SAP Applications 15 SP7

  
  
An update that solves two vulnerabilities can now be installed.

## Description:

This update for apache-sshd, jpgpj fixes the following issues

  * CVE-2020-36843: no check performed on scalar to avoid signature malleability
    (bsc#1239551).
  * CVE-2026-48827: Apache MINA SSHD: Path traversal in org.apache.sshd: sshd-
    git (bsc#1267018).

Changes for jpgpj:

  * Initial packaging with v1.3

Changes for apache-sshd:

  * Update to upstream version 2.18.0
  * Bug Fixes
  * GH-743 Ensure the Java ServiceLoader use a singleton SftpFileSystemProvider
  * GH-879 Close SSH channel gracefully on exception in port forwarding
  * Security: Improve handling of repository paths in sshd-git. Resolves
    CVE-2026-48827, bsc#1267018
  * New Features
  * GH-892 Align handling certificates without principals with OpenSSH 10.3
  * Update to upstream version 2.17.1
  * Changes
  * GH-875 Use Apache Parent POM 36
  * Update to upstream version 2.17.0
  * GH-469, SSHD-897 Fix duplicate character echo with interactive shells
  * GH-721 SSH client: schedule session timeout checks on demand only
  * GH-807 Handle "verified" flag for sk-* keys
  * GH-809 Fix server-side authentication for FIDO/U2F sk-* keys with flags in
    authorized_keys
  * GH-827 Don't fail on invalid known_hosts lines; log and skip them
  * GH-830 EC public keys: let Bouncy Castle generate X.509 encodings with the
    curve OID as algorithm parameter
  * GH-855 SFTP: use a single SftpClient per SftpFileSystem
  * GH-856 Fix using ed25519 with BC-FIPS
  * GH-861 SFTP client: prevent sending zero-length writes in
    SftpOutputStreamAsync
  * SSHD-1348 Fix zero-length SFTP reads
  * SSHD-1349 Bump PMD to 7.20.0 to avoid StackOverflowError when compiling on
    Java 26-ea
  * GH-814 Include a fix for CVE-2020-36843 (bsc#1239551) in optional dependency
    net.i2p.crypto:eddsa:0.3.0: perform the missing range check in Apache MINA
    SSHD before delegating to the signature verification in
    net.i2p.crypto:eddsa:0.3.0. This means that using net.i2p.crypto:eddsa:0.3.0
    in Apache MINA SSHD is safe despite that CVE in the dependency.
  * GH-865 replace %h in HostName SSH config
  * Update to upstream version 2.16.0
  * Changes of version 2.16.0
  * bugfix: fix cert auth failed bug
  * GH-664: Skip MAC negotiation if an AEAD cipher was negotiated
  * GH-663: Fix a race in IoSession creation
  * Also test sshd-mina using mina-core 2.2.4
  * ScpShell fixes; SFTP append mode for buggy servers
  * fix sources.jar Reproducible Builds issue
  * GH-700: Fix race in AbstractCloseable.doCloseImmediately()
  * GH-705: Make ChannelToPortHandler accessible to user code
  * GH-709: Handle keep-alive channel messages sent by an old OpenSSH server
  * GH-727: supply default port for proxyJump if no HostConfigEntry
  * GH-733: Fix SftpRemotePathChannel.transferTo
  * GH-725: Added commandTimeoutMillis in executeRemoteCommand
  * GH-774: Fix WritePendingException
  * # 771 Avoid NoClassDefFoundError:

net/i2p/crypto/eddsa/EdDSAPublicKey

  * GH-516: Fix filesystem-id parsing in getFileSystem(URI)
  * GH-754: Don't close DefaultForwarder on bind error
  * Close repository after usage in GitPackCommand
  * Trigger ClientChannelEvent.Timeout and ClientSessionEvent.TIMEOUT
    independently to host's program cycle times
  * Changes of version 2.15.0
  * GH-618: Fix reading an OpenSshCertificate from a Buffer
  * Add interface to configure details of JGit's pack implementation
  * ML-KEM key exchanges using Bouncy Castle 1.79
  * GH-628: Fix reading directories with trailing blanks in the name
  * GH-626: Enable Streaming.Async for ChannelDirectTcpip
  * Sftp server 'ls' command timeout
  * GH-636: Handle unknown key types in known_hosts
  * GH-643: provide interfaces for caching file attributes on paths
  * Bouncy Castle EdDSA / Ed25519 Support
  * Abstract revoked key handling in KnownHostsServerKeyVerifier
  * Fix an incompletely interpolated dependency with maven 4.0.0-rc-4
  * Fix wrong invocation of xmvn-subst
  * Updated to upstream version 2.14.0
  * Changes in version 2.14.0
  * GH-524 Performance improvements
  * GH-533 Fix multi-step authentication
  * GH-582 Fix filtering in NamedFactory
  * GH-587 Prevent NullPointerExceptionon closed channel in NettyIoSession
  * GH-590 Better support for FIPS
  * GH-597 Pass on Charset in ClientSession.executeRemoteCommand()
  * New utility methods SftpClient.put(Path localFile, String remoteFileName)
    and SftpClient.put(InputStream in, String remoteFileName) facilitate SFTP
    file uploading.
  * GH-590 Better support for FIPS Besides fixing a bug with bc-fips (the
    RandomGenerator class exists in normal Bouncy Castle, but not in the FIPS
    version, but Apache MINA sshd referenced it even if only bc-fips was
    present), support was improved for running in an environment restricted by
    FIPS. There is a new system property org.apache.sshd.security.fipsEnabled.
    If set to true, a number of crypto-algorithms not approved by FIPS 140 are
    disabled:
  * key exchange methods sntrup761x25519-sha512,
    sntrup761x25519-sha512 at openssh.com, curve25519-sha256,
    curve25519-sha256 at libssh.org, curve448-sha512.
  * the chacha20-poly1305 cipher.
  * the bcrypt KDF used in encrypted private key files in OpenSSH format.
  * all ed25519 keys and signatures. Additionally, the new "SunJCEWrapper"
    SecurityProviderRegistrar (see below) and the EdDSASecurityProviderRegistrar
    are disabled, and the BouncyCastleScurityProviderRegistrar looks only for
    the "BCFIPS" security provider, not for the normal "BC" provider. If the
    system property is not set to true, FIPS mode can be enabled
    programmatically by calling SecurityUtils.setFipsMode() before any other
    call to Apache MINA sshd.
  * Potential compatibility issues
  * New security provider registrar There is a new SecurityProviderRegistrar
    that is registered by default if there is a SunJCE security provider. It
    uses the AES and HmacSHA* implementations from SunJCE even if Bouncy Castle
    is also registered. SunJCE has native implementations, whereas Bouncy Castle
    may not. The new registrar has the name "SunJCEWrapper" and can be
    configured like any other registrar. It can be disabled via the system
    property org.apache.sshd.security.provider.SunJCEWrapper.enabled=false. It
    is also disabled in FIPS mode (see above). The methods
    NamedFactory.setupBuiltinFactories(boolean ignoreUnsupported, ...) and
    NamedFactory.setupTransformedFactories(boolean ignoreUnsupported, ...) had a
    bug that gave the "ignoreUnsupported" parameter actually the meaning of
    "include unsupported". This was fixed in this release, but existing code
    calling these or one of the following methods: ~
    BaseBuilder.setUpDefaultMacs(boolean ignoreUnsupported) ~
    BaseBuilder.setUpDefaultCiphers(boolean ignoreUnsupported) ~
    ClientBuilder.setUpDefaultCompressionFactories(boolean ignoreUnsupported) ~
    ClientBuilder.setUpDefaultKeyExchanges(boolean ~
    ClientBuilder.setUpDefaultSignatureFactories(boolean ~
    ServerBuilder.setUpDefaultCompressionFactories(boolean ~
    ServerBuilder.setUpDefaultKeyExchanges(boolean ~
    ServerBuilder.setUpDefaultSignatureFactories(boolean ~ any of the methods
    starting with SshConfigFileReader.configure ~
    SshClientConfigFileReader.configure(...) ~
    SshServerConfigFileReader.configure(...) should be reviewed: ~ if the method
    is called with parameter value true, the result will no longer include
    unsupported algorithms. Formerly it wrongly did. ~ if the method is called
    with parameter value false, the result may include unsupported algorithms.
    Formerly it did not. So if existing code used parameter value false to
    ensure it never got unsupported algorithms, change it to true.
  * Major Code Re-factoring
  * JDK requirements ~ GH-536 The project now requires JDK 17 at build time,
    while the target runtime still remains unchanged to support JDK 8.
  * Changes in version 2.13.2
  * What's Changed
  * GH-525: Fix sntrup761x25519-sha512 by @tomaswolf in #528
  * Changes in version 2.13.1
  * This release does not contain any code changes. It is solely to rectify the
    issue that the 2.13.0 release encountered during the release process, where
    the source jars were not created.
  * Changes in version 2.13.0
  * GH-318: Handle cascaded proxy jumps by @tomaswolf in #512
  * GH-427: Read initial ACK on channel open prior to direct stream upload &
    close streams prior to exit code handling by @TerraNibble in #464
  * GH-455: ensure BaseCipher.update() fulfills the contract by @tomaswolf in
    #463
  * GH-470: Synchronize not thread safe
    java.security.KeyPairGenerator.generateKe... by @zakharovsergey1000 in #467
  * GH-476: Fix Android detection false negative by @wh0
  * GH-475: Switch uses of JSch library to the com.github.mwiede:jsch fork by
    @Alex-Vol-Amz
  * GH-472: change client start condition in sshd-spring-sftp by @alwaystom
  * GH-489: sftp readdir: determine file type from longname by @tomaswolf in
    #491
  * GH-486: Add missing U2F {ed25519,ecdsa}-sk public key equality methods by
    @lf-
  * SSHD-1237 Handle keep-alive channel requests by @tomaswolf in #492
  * GH-494: Nio2Session improvements by @evgeny-pasynkov
  * GH-468: Handle excess data in SFTP read requests by @tomaswolf in #495
  * GH-498: Implement the "sntrup761x25519-sha512 at openssh.com" KEX method by
    @tomaswolf
  * GH-500: SftpFileSystemProvider: close SftpClient on exception by @tomaswolf
    in #501
  * GH-504: Pass reason to sessionNegotiationEnd by @duco-lw in #505
  * GH-461: Fix heartbeats with wantReply=true by @tomaswolf in #507
  * GH-493: Fix arcfour128 and arcfour256 ciphers (regression in 2.2.0)
  * GH-509: SFTP v[456] client: validate attribute flags
  * GH-510: Fix class name in BuiltinIoServiceFactoryFactories (regression in
    2.6.0)
  * sntrup761x25519-sha512 at openssh.com Key Exchange The key exchange method
    sntrup761x25519-sha512 at openssh.com is now available if the Bouncy Castle
    library is available. This uses a post-quantum key encapsulation method
    (KEM) to make key exchange future-proof against quantum attacks. More
    information can be found in IETF Memo Secure Shell (SSH) Key Exchange Method
    Using Hybrid Streamlined NTRU Prime sntrup761 and X25519 with SHA-512:
    sntrup761x25519-sha512.
  * Behavioral changes and enhancements ~ GH-318 Handle cascaded proxy jumps
    Proxy jumps can be configured via host configuration entries in two ways.
    First, proxies can be chained directly by specifiying several proxies in one
    ProxyJump directive: Host target Hostname somewhere.example.org User
    some_user IdentityFile ~/.ssh/some_id ProxyJump jumphost2, jumphost1 Host
    jumphost1 Hostname jumphost1 at example.org User jumphost1_user IdentityFile
    ~/.ssh/id_jumphost1 Host jumphost2 Hostname jumphost2 at example.org User
    jumphost2_user IdentityFile ~/.ssh/id_jumphost2 Connecting to server target
    will first connect to jumphost1, then tunnel through to jumphost2, and
    finally tunnel to target. So the full connection will be
    client->jumphost1->jumphost2->target. Such proxy jump chains were already
    supported in Apache MINA SSHD. Newly, Apache MINA SSHD also supports
    cascading proxy jumps, so a configuration like ProxyJump jumphost2 ProxyJump
    jumphost1 also works now, and produces the same connection It is possible to
    mis-configure such proxy jump cascades to have loops. (For instance, if host
    jumphost1 in the above example had a ProxyJump jumphost2 directive.) To
    catch such misconfigurations, Apache MINA SSHD imposes an upper limit on the
    total number of proxy jumps in a connection. An exception is thrown if there
    are more than CoreModuleProperties.MAX_PROXY_JUMPS proxy jumps in a
    connection. The default value of this property is 10. Most real uses of
    proxy jumps will have one or maybe two proxy jumps only. ~ GH-461 Fix
    heartbeats with wantReply=true The client-side heartbeat mechanism has been
    updated. Such heartbeats are configured via the
    CoreModuleProperties.HEARTBEAT_INTERVAL property. If this interval is > 0,
    heartbeats are sent to the server. Previously these heartbeats could also be
    configured with a CoreModuleProperties.HEARTBEAT_REPLY_WAIT timeout. If the
    timeout was <= 0, the client would just send heartbeat requests without
    expecting any answers. If the timeout was > 0, the client would send
    requests with a flag indicating that the server should reply. The client
    would then wait for the specified duration for the reply and would terminate
    the connection if none was received. This mechanism could cause trouble if
    the timeout was fairly long and the server was slow to respond. A timeout
    longer than the interval could also delay subsequent heartbeats. The
    CoreModuleProperties.HEARTBEAT_REPLY_WAIT property is now deprecated. There
    is a new configuration property CoreModuleProperties.HEARTBEAT_NO_REPLY_MAX
    instead. It defines a limit for the number of heartbeats sent without
    receiving a reply before a session is terminated. If the value is <= 0, the
    client still sends heartbeats without expecting any reply. If the value is >
    0, the client will request a reply from the server for each heartbeat
    message, and it will terminate the connection if the number of unanswered
    heartbeats reaches CoreModuleProperties.HEARTBEAT_NO_REPLY_MAX. This new way
    to configure heartbeats aligns with the OpenSSH configuration options
    ServerAliveInterval and ServerAliveCountMax. For compatibility with older
    configurations that explicitly define
    CoreModuleProperties.HEARTBEAT_REPLY_WAIT, the new code maps this to the new
    configuration (but only if CoreModuleProperties.HEARTBEAT_INTERVAL > 0 and
    the new property CoreModuleProperties.HEARTBEAT_NO_REPLY_MAX has not been
    set) by setting CoreModuleProperties.HEARTBEAT_NO_REPLY_MAX to =
    CoreModuleProperties.HEARTBEAT_REPLY_WAIT <= 0:
    CoreModuleProperties.HEARTBEAT_NO_REPLY_MAX = 0 = otherwise:
    (CoreModuleProperties.HEARTBEAT_REPLY_WAIT /
    CoreModuleProperties.HEARTBEAT_INTERVAL) + 1. ~ GH-468 SFTP: validate length
    of data received: must not be more than requested SFTP read operations now
    check the amount of data they get back. If it's more than requested an
    exception is thrown. SFTP servers must never return more data than the
    client requested, but it appears that there are some that do so. If property
    SftpModuleProperties.TOLERATE_EXCESS_DATA is set to true, a warning is
    logged and such excess data is silently discarded.
  * AES-CBC ciphers removed from server's defaults The AES-CBC ciphers
    aes128-cbc, aes192-cbc, and aes256-cbc have been removed from the default
    list of cipher algorithms that a server proposes in the key exchange.
    OpenSSH has removed these cipher algorithms from the server proposal in
    2014, and has removed them from the client proposal in 2017. The cipher
    implementations still exist but they are not enabled by default. Existing
    code that explicitly sets the cipher factories is unaffected. Code that
    relies on the default settings will newly create a server that does not
    support the CBC-mode ciphers. To enable the CBC-mode ciphers, one can use
    for instance SshServer server = ServerBuilder.builder() ...
    .cipherFactories(BuiltinFactory.setUpFactories(false,
    BaseBuilder.DEFAULT_CIPHERS_PREFERENCES)); .build(); For the SSH client, the
    CBC ciphers are still enabled by default to facilitate connecting to legacy
    servers. We plan to remove the CBC ciphers from the client's defaults in the
    next release.
  * Changes in version 2.12.1
  * GH-458 Singleton thread pool for kex message handler flushing
  * SSHD-1338 Restore binary compatibility with 2.9.2
  * Fix link by @swiedenfeld in #454
  * SSHD-1338 Restore binary compatibility with 2.9.2 by @gnodet in #456
  * Use a singleton threadpool for kex message handler flushing by
    @FliegenKLATSCH in #459
  * Enable module: sshd-openpgp
  * Add an "extras" flavour to build without cycles all modules we can

## Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like
YaST online_update or "zypper patch".  
Alternatively you can run the command listed for your product:

  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP5-ESPOS-2026-2472=1

  * Development Tools Module 15-SP7  
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP7-2026-2472=1

  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-ESPOS-2026-2472=1

  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-LTSS-2026-2472=1

  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP5  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP5-LTSS-2026-2472=1

  * SUSE Linux Enterprise Server 15 SP4 LTSS  
    zypper in -t patch SUSE-SLE-Product-SLES-15-SP4-LTSS-2026-2472=1

  * SUSE Linux Enterprise Server 15 SP5 LTSS  
    zypper in -t patch SUSE-SLE-Product-SLES-15-SP5-LTSS-2026-2472=1

  * SUSE Linux Enterprise Server 15 SP6 LTSS  
    zypper in -t patch SUSE-SLE-Product-SLES-15-SP6-LTSS-2026-2472=1

  * SUSE Linux Enterprise Server for SAP Applications 15 SP4  
    zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP4-2026-2472=1

  * SUSE Linux Enterprise Server for SAP Applications 15 SP5  
    zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP5-2026-2472=1

  * SUSE Linux Enterprise Server for SAP Applications 15 SP6  
    zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP6-2026-2472=1

## Package List:

  * Development Tools Module 15-SP7 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP5 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server 15 SP4 LTSS (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server 15 SP5 LTSS (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server 15 SP6 LTSS (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server for SAP Applications 15 SP5 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1
  * SUSE Linux Enterprise Server for SAP Applications 15 SP6 (noarch)
    * apache-sshd-2.18.0-150200.5.11.1
    * jpgpj-1.3-150200.5.3.1

## References:

  * https://www.suse.com/security/cve/CVE-2020-36843.html
  * https://www.suse.com/security/cve/CVE-2026-48827.html
  * https://bugzilla.suse.com/show_bug.cgi?id=1239551
  * https://bugzilla.suse.com/show_bug.cgi?id=1267018

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.suse.com/pipermail/sle-updates/attachments/20260619/59f22332/attachment.htm>


More information about the sle-updates mailing list