Close
  • Latest News
  • Artificial Intelligence
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Cybersecurity
    • Cybersecurity

    Is a New Vulnerability the Tip of the Perl Iceberg?

    By
    Larry Seltzer
    -
    December 5, 2005
    Share
    Facebook
    Twitter
    Linkedin

      Last week a serious vulnerability was revealed to relatively little attention from the press, or even from security circles. I think its a real nasty one, especially in as much as it will go widely unpatched.

      The program at issue is the ubiquitous Perl programming language. Perl is a scripting language, which means a lot of things to different people, but I think the main characteristic is that its interpreted in source form in a sort of virtual machine. Perl is widely used for system administration scripting as well as for server-side Web site programming, although in recent years it has been substantially supplanted by PHP, ASP and other server-side scripting languages.

      This specific vulnerability, the “Perl_sv_vcatpvfn Format String Integer Wrap Vulnerability,” relates to the use of string formatting. Perl has string formatting features very similar to those in the C language string library functions, wherein you might use printf(“the number is %4un”,x) to print the value of the integer variable x as a 4-digit unsigned integer.

      String formatting like this has a sad history of exploit in the C world, and theres every reason to assume the same about Perl. As the SecurityFocus advisory I linked to above makes clear, if your programs pass data to these functions you should first sanitize the data to make sure its in the proper bounds. The specified format string instance is almost certainly just an example, and numerous others must exist in other Perl cases.

      Another point about this vulnerability that will serve to confuse is that it is often described as a vulnerability in Webmin, a Web-based system administration tool written in Perl. But some reports, which I have confirmed with Dave Aitel of Immunity Inc., make it clear the underlying problem is in Perl itself.

      Its easy for SecurityFocus (and me) to tell all of you do check all your data before calling functions like this, but the fact is that not a lot of this gets done. In fact, from my own experience digging around Perl programs, theyre among the sloppiest and most unreadable programs out there.

      A colleague of mine derides Perl programs as “modem noise,” and hes got a point. Its not just the impossibly-terse regular expressions that dot the landscape of Perl source, its that Perl is designed for quick-hack programming. You can get something up and running quickly. Presumably, if its not a one-time type program, you should polish it up afterwards, adding things like error checking and security checks but, shocking as it might seem, this doesnt always happen.

      A great example of why Perl programs are written and how they could be abused in this way came from one of the few observers that I saw comment on the vulnerability online. Michael J. Pomraning nominated the syslog() function from the Sys::Syslog module, observing: “Its common in *NIX environments regardless of programmers backgrounds and is extremely likely to be called with untrusted data interpolated directly in the format string argument—syslog(“info”, “A user said $user_input”), for example.” [Correction: This paragraph has been changed. The syslog() remark was originally attributed to Steven Christey, but was in fact made by Pomraning, following up to a different comment by Christey.]

      I bet there are many, many systems out there running Perl scripts that have been forgotten with the programmer on his fourth new job since it was written. And undoubtedly there is a lot of Perl CGI code that was written before we were concerned about things like this (I know, I wrote some if it myself; I could go back and fix it, but nobodys paying for it, so it wont get done).

      Im not immediately worried about a major attack based on these vulnerabilities, but they could be a great entry point for someone trying to break into a specific system, especially if the execution context of the Perl interpreter itself is not well-managed.

      Theres an assumption out there, even among people who should know better, that “VM” languages like Perl are inherently safer. This may be true to a degree, but they are not inherently “safe.” In fact, Perls roots in the pre-security days of the Internet make it especially suspect. I think well be hearing more about this over time.

      Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983.

      Check out eWEEK.coms for the latest security news, reviews and analysis. And for insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzers Weblog.

      More from Larry Seltzer

      Larry Seltzer
      Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement—,he graduated from the University of Pennsylvania in 1983.He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.
      Get the Free Newsletter!
      Subscribe to Daily Tech Insider for top news, trends & analysis
      This email address is invalid.
      Get the Free Newsletter!
      Subscribe to Daily Tech Insider for top news, trends & analysis
      This email address is invalid.

      MOST POPULAR ARTICLES

      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Applications

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Applications

      Kyndryl’s Nicolas Sekkaki on Handling AI and...

      James Maguire - November 9, 2022 0
      I spoke with Nicolas Sekkaki, Group Practice Leader for Applications, Data and AI at Kyndryl, about how companies can boost both their AI and...
      Read more
      Cloud

      IGEL CEO Jed Ayres on Edge and...

      James Maguire - June 14, 2022 0
      I spoke with Jed Ayres, CEO of IGEL, about the endpoint sector, and an open source OS for the cloud; we also spoke about...
      Read more
      Careers

      SThree’s Sunny Ackerman on Tech Hiring Trends

      James Maguire - June 9, 2022 0
      I spoke with Sunny Ackerman, President/Americas for tech recruiter SThree, about the tight labor market in the tech sector, and much needed efforts to...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2022 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×