Java运行时环境JPEGImageWriter.writeImage函数整数溢出漏洞_

在使用PDFBOX的接口,代码如下:

PDFImageWriter imageWriter = new PDFImageWriter();

imageWriter.writeImage(pdDoc, imageType, null, startPage, endPage, imageFilePath, 1, Constants.NUM_TWO_HUNDRED),发现图片生成了,但是报内存溢出错误。后面看了下源代码搜寻相关资料发现存在这样一个问题,所以更换JDK就OK了。

Java运行时环境的JPEGImageWriter.writeImage函数没有正确地处理JPEG图形维度。如果对子示例的维度指定了超大的值,就可能触发整数溢出,导致以当前登录用户的权限执行任意代码。

受影响系统: Sun JDK 1.6.x Sun JDK 1.5.x Sun JRE 1.6.x Sun JRE 1.5.x Sun JRE
1.4.x Sun SDK 1.4.x 不受影响系统: Sun JDK 1.6.0_22 Sun JDK 1.5.0_26 Sun JRE
1.6.0_22 Sun JRE 1.5.0_26 Sun JRE 1.4.2_28 Sun SDK 1.4.2_28 描述:
BUGTRAQID: 43985 C

  

受影响系统:

Sun JDK 1.6.x
Sun JDK 1.5.x
Sun JRE 1.6.x
Sun JRE 1.5.x
Sun JRE 1.4.x
Sun SDK 1.4.x

不受影响系统:

Sun JDK 1.6.0_22
Sun JDK 1.5.0_26
Sun JRE 1.6.0_22
Sun JRE 1.5.0_26
Sun JRE 1.4.2_28
Sun SDK 1.4.2_28

时间: 2024-10-30 14:13:27

Java运行时环境JPEGImageWriter.writeImage函数整数溢出漏洞_的相关文章

Java运行时环境---内存划分

背景:听说Java运行时环境的内存划分是挺进BAT的必经之路. 内存划分: Java程序内存的划分是交由JVM执行的,而不像C语言那样需要程序员自己买单(C语言需要程序员为每一个new操作去配对delete/free代码),放权给JVM虚拟机处理有利也有弊,好处是不容易出现内存泄漏和内存溢出问题,坏处就是自己的屁股不能自己擦,万一有一天JVM罢工不释放了,还是自个忘了释放,So了解虚拟机容易引起内存泄漏和溢出的场景对Java程序员来说还是必不可少的.[内存泄漏:Out Of Memmory,系统

kubernetes实战-交付dubbo服务到k8s集群(三)安装配置maven和java运行时环境的底包镜像

maven 官方地址: 官方地址 下载maven,shdd7-200 # cd /opt/src # wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz # mkdir /data/nfs-volume/jenkins_home/maven-3.6.1-8u232 # tar -zxf apache-maven-3.6.1-bin.tar.gz -C /da

java 运行时环境和编译器环境

必须要保证运行环境高于编译环境 1.编译器的环境设置 单击项目右键-> Properties -> Java Compiler -> 5或6 如果编译器的环境高于运行时环境会报错. 2.运行环境的设置 项目右键à Build path -> Configure Build path -> Libraries -> 选中要修改的JRE-> Edit -> Alternate JRE à Install JRE à->需要制定JRE的home目录然后单击安

在linux centos7 上安装java运行时环境,

第一步,安装mysql, 一.检查系统是否安装老版本,有的话干掉 #yum list installed | grep mysqlmysql-libs.x86_64 5.1.73-5.el6_6 @anaconda-CentOS-201508042137.x86_64/6.7 #yum -y remove mysql-libs.x86_64 二.安装及配置 # wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

Spring XD简介:大数据应用的运行时环境

简介 Spring XD(eXtreme Data,极限数据)是Pivotal的大数据产品.它结合了Spring Boot和Grails,组成Spring IO平台的执行部分.尽管Spring XD利用了大量现存的Spring项目,但它是一种运行时环境,而不是一个类库或者框架,它包含带有服务器的bin目录,你可以通过命令行启动并与之交互.运行时可以运行在开发机上.客户端自己的服务器上.AWS EC2上或者Cloud Foundry上. Spring XD中的关键组件是管理和容器服务器(Admin

单线程、高并发的运行时环境

浅谈Node.js单线程模型 Node.js采用 事件驱动 和 异步I/O 的方式,实现了一个单线程.高并发的运行时环境,而单线程就意味着同一时间只能做一件事,那么Node.js如何利用单线程来实现高并发和异步I/O?本文将围绕这个问题来探讨Node.js的单线程模型: 1.高并发 一般来说,高并发的解决方案就是多线程模型,服务器为每个客户端请求分配一个线程,使用同步I/O,系统通过线程切换来弥补同步I/O调用的时间开销,比如Apache就是这种策略,由于I/O一般都是耗时操作,因此这种策略很难

Java运行时内存

对于java程序员来说,并不必显示地对内存进行管理,一切都交给java虚拟机去做吧,而且,你也不一定做得比java虚拟机来得专业.好像所有内存管理都交给虚拟机去做就万事大吉了,但是,事实有时并非如此,可能有时你会遇到一些让你困惑的问题,如OutOfMemoryError异常,如stackOverflowError,你开始大呼,虚拟机不是都为我们管理好内存了吗?怎么还会出现这样的Error,其实当你真正去了解java虚拟机内存区域的分布的时候,你就会不自觉的大呼:原来java虚拟机也不是万能. 这

JavaScript引擎、虚拟机、运行时环境浅析

一.JavaScript引擎: 所谓JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中,用于解释和执行js脚本. 著名的js引擎: Mozilla:SpiderMonkey引擎,世界第一款JavaScript引擎,有C/C++编写,用于Mozilla Firefox 1.0-3.0版本 Google:V8引擎,由C++/汇编语言编写,用于chrome浏览器 微软:Chakra(查克拉,笑)引擎,用于Internet Explorer 9的32位版本

深入理解java虚拟机一 JAVA运行时内存区域与class文件

一 JAVA运行时内存区域 JVM在加载class文件时,会将class文件定义的数据结构转为运行时内存中的数据,那么jvm是如何安排运行时的内存区域呢? jvm将运行时内存划分为以下几个部分: 堆:所有线程共享 方法区:类信息.静态变量.常量等 运行时常量池:class文件的常量池(字面常量和符号引用)+运行时产生的常量 程序计数器:  当前线程执行的字节码的行号指示器 虚拟机栈:栈帧 = 本地局部变量表.操作数栈.动态链接.出口信息 本地方法栈:native方法 直接内存:不属于jvm管理,